91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
孝昌县| 南昌县| 洞头县| 商丘市| 宁海县| 剑河县| 桐柏县| 昔阳县| 元朗区| 盐城市| 松江区| 秭归县| 彰化市| 通辽市| 孝感市| 富宁县| 屏东县| 手机| 新沂市| 富阳市| 新郑市| 上蔡县| 南部县| 龙陵县| 安宁市| 恩施市| 濮阳市| 滨海县| 肇源县| 泾源县| 石渠县| 怀宁县| 黄平县| 启东市| 达孜县| 义乌市| 正安县| 饶阳县| 平凉市| 万全县| 嘉荫县|