【发布时间】:2014-03-13 21:10:27
【问题描述】:
我有一个节点问题。我想在其中调用一个数据访问对象和可能的其他对象,并在完成后渲染一个 Jade 模板
类似:
provider1.getData(args, function(error, results) {
/* do something with each result element */
for(int i = 0l i < results.length; i++) {
provider2.getData(args, function(error, items) {
store.push(items);
});
}
});
/* Here I want to ensure that the above operations are complete */
result.render( .... , {
data:store
});
基本上,我想确保在使用数据呈现模板之前完成数据检索。目前,当渲染发生时,变量 store 没有被填充。我看过promises,它看起来很有希望。有没有人有一个巧妙的解决方案将我的代码示例转换为同步结构?
【问题讨论】:
标签: javascript node.js design-patterns asynchronous promise