亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

ES6中promise.all的用法是什么

es6
小億
105
2023-12-21 16:46:07
欄目: 編程語言

ES6中的Promise.all是一個靜態方法,用于處理多個Promise對象的并行執行。它接受一個Promise對象的數組作為參數,并返回一個新的Promise對象。

Promise.all會等待所有的Promise對象都變為resolved狀態后才會返回,返回的Promise對象的resolve回調函數的參數是一個數組,包含了所有Promise對象的結果。如果其中任何一個Promise對象變為rejected狀態,則返回的Promise對象的reject回調函數會被立即調用,并傳遞第一個被rejectedPromise對象的錯誤信息。

示例代碼如下:

const promise1 = Promise.resolve(3);
const promise2 = 42;
const promise3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, 'foo');
});

Promise.all([promise1, promise2, promise3])
  .then(values => {
    console.log(values); // [3, 42, 'foo']
  })
  .catch(error => {
    console.error(error);
  });

在上面的例子中,promise1promise2分別是已經被resolvedPromise對象,而promise3是一個在100ms后變為resolved狀態的Promise對象。Promise.all會等待所有的Promise對象都變為resolved狀態后,返回一個新的Promise對象,并將所有結果以數組的形式傳遞給resolve回調函數。在這個例子中,values數組包含了promise1promise2promise3的結果,即[3, 42, 'foo']

如果其中任何一個Promise對象變為rejected狀態,如下所示:

const promise1 = Promise.resolve(3);
const promise2 = 42;
const promise3 = new Promise((resolve, reject) => {
  setTimeout(reject, 100, 'Error');
});

Promise.all([promise1, promise2, promise3])
  .then(values => {
    console.log(values);
  })
  .catch(error => {
    console.error(error); // Error
  });

在這個例子中,promise3在100ms后變為rejected狀態,Promise.all會立即返回一個新的Promise對象,并將promise3的錯誤信息傳遞給reject回調函數。因此,只會執行catch回調函數,并輸出Error

0
舟曲县| 浑源县| 闻喜县| 万安县| 屏边| 南木林县| 海原县| 遂宁市| 拜城县| 靖西县| 双城市| 荥阳市| 伽师县| 阿巴嘎旗| 万盛区| 新绛县| 瑞昌市| 聂荣县| 喀喇沁旗| 蓝山县| 翁源县| 团风县| 蓝田县| 连山| 酉阳| 临漳县| 澎湖县| 馆陶县| 焉耆| 西安市| 兴宁市| 慈利县| 淮滨县| 祁阳县| 邵武市| 永年县| 皋兰县| 安阳县| 奈曼旗| 涪陵区| 中宁县|