JavaScript ES11:如何异步调用多个函数

阅读时长 4 分钟读完

在前端开发中,异步操作是非常常见的。在某些情况下,我们需要同时调用多个函数,并在所有函数执行完成后才继续执行下一步操作。在 JavaScript 中,我们可以使用 Promise.all() 方法来实现这个目的。

Promise.all() 方法

Promise.all() 方法接收一个包含多个 Promise 对象的数组,返回一个新的 Promise 对象。当数组中所有的 Promise 对象都执行完成后,新的 Promise 对象才会被 resolved。如果数组中任意一个 Promise 对象被 rejected,新的 Promise 对象就会被 rejected。

下面是 Promise.all() 方法的基本语法:

示例代码

下面是一个示例代码,展示了如何使用 Promise.all() 方法异步调用多个函数:

-- -------------------- ---- -------
-------- ----------- -
  ------ --- ----------------- ------- -- -
    ------------- -- -
      -------------------- ---- -----------
      --------- --- --- ----- ----- ---- ---
    -- ------
  ---
-

-------- ----------------- -
  ------ --- ----------------- ------- -- -
    ------------- -- -
      -------------------- ------ --- ---- ---------------
      --------------- --- ------ -----
    -- ------
  ---
-

-------- ------------------- -
  ------ --- ----------------- ------- -- -
    ------------- -- -
      -------------------- -------- --- ---- ---------------
      ----------------- --- -------- -----
    -- ------
  ---
-

-------------------------- --------------- ------------------
  ------------ -- -
    ---------------- --------- -------- ----------------
    -------------------- -----------
    ---------------------- -----------
    ------------------------ -----------
  --
  ------------ -- -
    ----------------- ----- ----------- -------
  ---
展开代码

在这个例子中,我们定义了三个函数:getUser()、getOrders() 和 getPayments()。每个函数都返回一个 Promise 对象,模拟了异步操作。

我们使用 Promise.all() 方法异步调用这三个函数,并在它们都执行完成后打印出结果。如果任意一个函数出现错误,我们会在 catch() 方法中捕获到这个错误。

总结

Promise.all() 方法是一个非常方便的工具,可以帮助我们在 JavaScript 中异步调用多个函数。在实际开发中,我们经常需要同时调用多个 API,获取多个数据源的数据,这时候 Promise.all() 就可以派上用场了。

当然,除了 Promise.all(),还有其他一些 Promise 相关的方法,例如 Promise.race()、Promise.resolve() 和 Promise.reject() 等等。如果你对 Promise 还不是很熟悉,建议先学习一下 Promise 的基础知识。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/660523ced10417a2222bf336

纠错
反馈

纠错反馈