【发布时间】:2013-06-13 01:04:28
【问题描述】:
我有一个函数需要传递给它的三个先前承诺的结果。一个是线性相关的,另外两个可以同时运行。我想使用 q.all 来解决三个承诺,然后使用 .spread 将结果传递给第四个。但是我的代码不起作用。任何帮助将不胜感激。
var p1 = doWork(data);
var p2 = p1.then(doMoreWork);
var p3 = doConcurrentWork(data);
return q.all([p1,p2,p3]).spread(funcWith3params)
.fail(function(err) {
console.log(err):
}
我可以在 node-inspector 中跟踪代码并看到前 3 个 Promise 正在被调用。但是,没有调用 .spread 调用的函数。关于为什么的任何线索? .fail 也没有被击中。
【问题讨论】:
-
我假设您打算在其中放置一个结束
)。
标签: javascript node.js q