【发布时间】:2015-03-14 12:00:45
【问题描述】:
我正在尝试执行递归异步循环,以从 nodejs 中的第三方库跟踪特定对象的所有子对象。
伪代码如下:
var tracer = function(nodes){
var promises [];
nodes.forEach(function(node){
// trace returns a promise ...
var promise = builder.trace(node)
promises.push(promise);
promise.then(function(tree){
// if we had children, get those
if(tree.children.length){
promises.push.apply(promises, tracer(tree.children));
}
});
});
return promises;
};
RSVP.all(tracer(myArr)).then(function(allTrees){ ... });
但我不知道如何让它们全部正确解析并在一个数组中返回结果。
【问题讨论】:
-
tracer(myArr)怎么会有.then?在此代码中,您不会返回使用.then的承诺。
标签: javascript node.js recursion promise