У меня есть функция, которой нужен результат трех предыдущих обещаний, переданных ей. Один из них линейно зависим, а два других могут работать одновременно. Я хочу использовать 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):
}
Я могу проследить код в инспекторе узлов и увидеть, что вызываются первые 3 промиса. Однако функция, которую вызывает .spread, не вызывается. Любые подсказки относительно того, почему? Также .fail не попадает.
)
. - person Sukima   schedule 17.11.2013