我有5個承諾,我希望按特定順序放置。但是我找到一種方法將它們按照正確的順序拼湊起來,這讓我感到很困難。 (1-2)-5-(3-4)而不是(1-2) - (3-4)-5或(3-4) - (1) -2)-5(也OK)。所以第五名來得太早了,它應該最後。我試圖將1 + 2 + 3 + 4放入數組/列表中,如下所示,然後創建第5個承諾,告訴它等待執行1-4。但是,正如所說的那樣,這個命令錯誤地出現了......任何想法?按特定順序運行承諾
this.promises.push(PROMISE1.then(() => {
**Code for PROMISE 1**
this.promises.push(PROMISE2.then(() => {
**Code for PROMISE 2**
})
);
}));
this.promises.push(PROMISE3.then(() => {
**Code for PROMISE 3**
this.promises.push(PROMISE4).then(() => {
**Code for PROMISE 4**
})
);
}));
Promise.all(this.promises).then(() => {
**Code for PROMISE 5**
});
這是因爲在Promise.all(this.promises)的執行時間,您的陣列只包含PROMISE1和PROMISE2,承諾3和4不會添加到this.promises中,並且不會影響所有行爲。 –