Из того, что я вижу в документации, при использовании рендеринга API и передать третий аргумент для обратного вызова, требует, чтобы сделать должно быть асинхронной, не синхронизируются, но когда я делаю это на стороне клиента:Как вы загружаете асинхронный шаблон Nunjucks (на стороне клиента)?
nunjucks.render("template.html", data, function(err, res) {
$("#resultDiv").html(res);
});
Он по-прежнему выполняет запрос синхронизации xhr. (. Для того, чтобы быть ясно, это делает очень хорошо, но это не является асинхронным вызов)
Посмотрев на код библиотеки, похоже, это предполагаемое поведение. Если вы следуете по пути вызова «render», вы получите [этот комментарий] (https://github.com/mozilla/nunjucks/blob/master/src/web-loaders.js#L59) в коде. Я думаю, что ответ на ваш вопрос, скорее всего, будет переопределять этот загрузчик в какой-то форме или моде (fork repo, monkey-patch it и т. Д.). –
Имеет смысл. Документы, похоже, пытаются охватить как Node.js, так и клиентскую память, но в этом случае кажется, что они не ясно, что эта форма API * всегда * синхронизируется для клиентской стороны. Если вы положите это в ответы, я одобрю его/проголосую/и т. Д. –