2015-04-13 2 views
0

Из того, что я вижу в документации, при использовании рендеринга API и передать третий аргумент для обратного вызова, требует, чтобы сделать должно быть асинхронной, не синхронизируются, но когда я делаю это на стороне клиента:Как вы загружаете асинхронный шаблон Nunjucks (на стороне клиента)?

nunjucks.render("template.html", data, function(err, res) { 
    $("#resultDiv").html(res); 
}); 

Он по-прежнему выполняет запрос синхронизации xhr. (. Для того, чтобы быть ясно, это делает очень хорошо, но это не является асинхронным вызов)

+1

Посмотрев на код библиотеки, похоже, это предполагаемое поведение. Если вы следуете по пути вызова «render», вы получите [этот комментарий] (https://github.com/mozilla/nunjucks/blob/master/src/web-loaders.js#L59) в коде. Я думаю, что ответ на ваш вопрос, скорее всего, будет переопределять этот загрузчик в какой-то форме или моде (fork repo, monkey-patch it и т. Д.). –

+1

Имеет смысл. Документы, похоже, пытаются охватить как Node.js, так и клиентскую память, но в этом случае кажется, что они не ясно, что эта форма API * всегда * синхронизируется для клиентской стороны. Если вы положите это в ответы, я одобрю его/проголосую/и т. Д. –

ответ

1

Поскольку нет лучшего ответа не объявился в течение ночи, и вы просили его, мой ответ из комментариев является:

Глядя на библиотечный код, похоже, это предполагаемое поведение. Если вы выполните маршрут вызова рендеринга, вы получите код this comment. Я думаю, что ответ на ваш вопрос, скорее всего, будет переопределять этот загрузчик в какой-то форме или моде (fork repo, monkey-patch it и т. Д.).

Смежные вопросы