Tôi có một chức năng cần kết quả của ba lời hứa trước đó được truyền cho nó. Một là phụ thuộc tuyến tính và hai loại kia có thể chạy đồng thời. Tôi muốn sử dụng q.all để giải quyết ba lời hứa, và sau đó chuyển kết quả vào thứ tư bằng cách sử dụng .spread. Mã của tôi tuy nhiên không hoạt động. Bất kỳ trợ giúp sẽ được đánh giá cao.kriskowal/q node.js q.all và lây lan
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):
}
Tôi có thể theo dõi mã trong trình kiểm tra nút và thấy rằng 3 lời hứa đầu tiên đang được gọi. Tuy nhiên, chức năng mà các cuộc gọi .spread không được gọi. Bất kỳ manh mối nào về lý do tại sao? Ngoài ra .fail cũng không bị tấn công.
Tôi giả sử bạn có nghĩa là đặt dấu đóng ')' trong đó. – Sukima