您好,登錄后才能下訂單哦!
在TypeScript中,Promise.all()和Promise.race()方法可以用來處理多個Promise對象的并發執行。這兩個方法都是Promise的靜態方法,可以直接通過Promise對象調用。
Promise.all()方法接收一個Promise對象數組作為參數,返回一個新的Promise對象。該新的Promise對象在所有Promise對象都成功(resolve)時才會成功,并返回一個包含所有Promise結果的數組;如果有任何一個Promise對象失敗(reject),則整個Promise.all()操作失敗。
示例代碼如下:
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 1 resolved');
}, 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 2 resolved');
}, 2000);
});
Promise.all([promise1, promise2]).then((results) => {
console.log('All promises resolved:', results);
}).catch((error) => {
console.error('One or more promises failed:', error);
});
Promise.race()方法同樣接收一個Promise對象數組作為參數,返回一個新的Promise對象。該新的Promise對象在第一個Promise對象解決(resolve)或拒絕(reject)時就會解決(resolve)或拒絕(reject),并返回該Promise對象的結果。
示例代碼如下:
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 1 resolved');
}, 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 2 resolved');
}, 2000);
});
Promise.race([promise1, promise2]).then((result) => {
console.log('First promise resolved:', result);
}).catch((error) => {
console.error('First promise failed:', error);
});
使用Promise.all()和Promise.race()方法可以很方便地處理多個Promise對象的并發操作,根據不同的需求選擇適合的方法進行處理。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。