将 Q.all 放在 Q.all 中是否正确?

Is it correct to put Q.all inside a Q.all?

我的代码如下:

let tasks = [];
tasks.push(MyModel.update({ _id: 50 }, { Test: 5000 }).exec());
return Q.all([
   myPromise,
   Q.all(dbTasks)
]);

将Q.all放在Q.all中是否正确? dbTasks 中的承诺会在 myPromise 之后得到解决吗?

可以使用spread element将内数组展开为外数组

Promise.all([myPromise, ...dbTasks])

Is it correct to put Q.all inside a Q.all?

是的,应该没问题。 Q.all 采用一系列承诺和非承诺,Q.all returns 承诺。所以你可以开始了。解析值将是一个长度为 2 的数组,解析值 myPromise 和解析值 dbTasks.

Will the promises inside dbTasks be resolved exactly after myPromise?

他们会在他们解决的时候解决。 Q.all 无法控制。

外部 Q.all 产生的承诺将在 myPromisedbTasks 中的所有承诺都已解决时解决,或者一旦这些承诺中的任何一个都被拒绝拒绝。