Мне удалось создать собственное расширение async в Nunjucks.js, и у меня остались некоторые вопросы без ответа.Следующий является одним из них.
Как настроить расширение, чтобы оно не выходило из его выхода.Мой код выглядит примерно так.
var nunjucks = require('nunjucks');
module.exports = function CustomExtension() {
this.tags = ['docs'];
this.parse = function(parser, nodes, lexer) {
// parse the args and move after the block end. passing true
// as the second arg is required if there are no parentheses
var args = parser.parseSignature(null, true);
parser.nextToken();
// parse the content until end block
var body = parser.parseUntilBlocks('enddocs');
parser.advanceAfterBlockEnd();
return new nodes.CallExtensionAsync(this, 'run', args, [body]);
};
this.run = function(context, arguments, body, callback) {
var id = body();
somAsyncMagic(id, function(html) {
callback(null, html);
});
};
}
Этот фрагмент кода, кстати, используется в узле.Если это может зажечь кому-то идею.
Спасибо