Javascript Dust.js Promise数组
我对在Dust.js中解析数组的承诺有异议 假设我有一个类似这样的Dust.js函数(为了一个简单的示例,稍后将执行其他操作),它解析一个数组:Javascript Dust.js Promise数组,javascript,dust.js,Javascript,Dust.js,我对在Dust.js中解析数组的承诺有异议 假设我有一个类似这样的Dust.js函数(为了一个简单的示例,稍后将执行其他操作),它解析一个数组: var doSomethingAsync = new Promise(function(resolve, reject) { // do a thing, possibly async, then… setTimeout(function(){ var items = [{ name: 'One',
var doSomethingAsync = new Promise(function(resolve, reject) {
// do a thing, possibly async, then…
setTimeout(function(){
var items = [{
name: 'One',
}, {
name: 'Two',
}, {
name: 'Three',
}];
resolve(items);
}, 5000);
});
res.stream('admin/index', {
"async": doSomethingAsync
});
我的模板是这样的:
{#async}
{name}
{/async}
它似乎没有打印出你所期望的内容。它使用contextDump帮助器打印以下内容:
[ { "name": "One" }, { "name": "Two" }, { "name": "Three" } ]
任何人都知道我做错了什么,无论这是故意的行为还是一个bug?结果是,你必须自己循环
{#async}
{#.}
{name}
{/.}
{/async}
你的回答是正确的。当前,整个数组被推送到上下文中,因此您必须在上下文中迭代:
{#async}
{#.}
{name}
{/.}
{/async}
但这是我的
使用该版本,您可以像预期的那样迭代返回的数组
{#async}
{name}
{/async}
这看起来像一只虫子;我在我们的问题跟踪程序上为您打开了一个问题:这将在2.7.2中修复,但2.7.2已修复。