我的代码如下:
let tasks = [];
tasks.push(MyModel.update({ _id: 50 }, { Test: 5000 }).exec());
return Q.all([
myPromise,
Q.all(dbTasks)
]);
将Q.all放入Q.all中是否正确? dbTasks
之后的承诺是否会在myPromise
后完全解决?
答案 0 :(得分:0)
您可以使用spread元素将内部数组扩展为外部数组
Promise.all([myPromise, ...dbTasks])
答案 1 :(得分:0)
将Q.all放入Q.all中是否正确?
是的,那应该没问题。 Q.all
将一系列承诺作为非承诺,Q.all
返回承诺。所以你很高兴。分辨率值为长度为2的数组,其解析值为myPromise
,解析后的值为dbTasks
。
dbTasks中的promise是否会在myPromise之后完全解决?
只要他们解决,他们就会得到解决。 Q.all
无法控制。
当Q.all
和myPromise
中的所有承诺都已解决时,外部dbTasks
生成的承诺将解决,或者只要这些承诺拒绝,它就会拒绝。