Javascript 快速hbs实例注册表同步器哈希

Javascript 快速hbs实例注册表同步器哈希,javascript,node.js,express,handlebars.js,Javascript,Node.js,Express,Handlebars.js,我使用的是express hbs nodejs模块,我在使用注册表同步器时遇到问题。我需要在restrict scope中编译一个布局,因为我已经创建了一个新的Handlebar实例,并且在这个实例中创建了一个helper。但是当我编译布局时,它会返回一个奇怪的散列。 我的代码是这样的: var hbs = require('express-hbs'); var hbs_temp = hbs.create(); hbs_temp.registerAsyncHelper( 'content',

我使用的是express hbs nodejs模块,我在使用注册表同步器时遇到问题。我需要在restrict scope中编译一个布局,因为我已经创建了一个新的Handlebar实例,并且在这个实例中创建了一个helper。但是当我编译布局时,它会返回一个奇怪的散列。 我的代码是这样的:

var hbs = require('express-hbs');
var hbs_temp = hbs.create();

hbs_temp.registerAsyncHelper( 'content', function( text, cb ) {     
    fs.readFile( 'some-file', { encoding: 'utf8' }, function( err, data ) {
        cb( new hbs_temp.SafeString( data ) );
    });
});

hbs_temp.compile( '<div> {{content}} </div>' )(  );`
var-hbs=require('express-hbs');
var hbs_temp=hbs.create();
hbs_临时寄存器同步器('content',function(text,cb){
readFile('some file',{encoding:'utf8'},函数(err,data){
cb(新hbs_温度安全字符串(数据));
});
});
hbs_临时编译({{content}}')()`
结果:

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

我的问题是。我的代码有问题,还是这是一个“快速hbs”错误?
谢谢大家!

express hbs模块插入这些散列来代替异步返回的值,并在异步调用完成后替换它们。您必须在Express的上下文中使用它作为渲染引擎才能看到它的工作。

谢谢skieter。在这种情况下,我需要两个handlerbar上下文。最好的选择可能是创建两个扩展文件,否则我不能有两个上下文并使用异步帮助程序。最好直接使用Handlebar,首先获取异步加载的内容,然后将这些值发送到Handlebar。