Express Handlebars 'partial' 助手

Express Handlebars 'partial' helper

我想实现这样的东西 this lib

这是我的代码:

var expressHandlebars  = require('express-handlebars');
var Handlebars = expressHandlebars.create({
    ....
    helpers: {
        partial: function(partialName, context, hash) {
            return Handlebars.getPartials()
                 .then(function(partials){
                     return partials[partialName](context, hash);
                 });
        }
    }
})

并这样使用:

{{{partial partialName this}}} <!-- partialName is a variable -->

但结果是 [object Object] 这个对象是 Promise 实例。

如何获取模板内容?

最终代码应该是这样的:

var expressHandlebars  = require('express-handlebars');
var Handlebars = expressHandlebars.create({
    ....
    helpers: {
        partial: function(partialName, context, hash) {
            return Handlebars.partials[partialName](context, hash); //changes
        }
    },
    ....
});

Handlebars.getPartials()
    .then(function(partials){
        Handlebars.partials = partials;
    });

如有错误请指正