中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
罗城| 曲阳县| 龙门县| 寿阳县| 南皮县| 罗甸县| 霍邱县| 陇南市| 招远市| 巴中市| 嘉荫县| 大英县| 汽车| 禹城市| 岑巩县| 舒兰市| 延川县| 保亭| 景宁| 大丰市| 洮南市| 榆中县| 容城县| 克拉玛依市| 德庆县| 永春县| 沭阳县| 牡丹江市| 沾化县| 嘉义县| 绵竹市| 临邑县| 响水县| 临夏县| 潍坊市| 和静县| 郯城县| 清水河县| 南皮县| 海丰县| 常熟市|