首页 > web前端 > js教程 > 如何同时执行多个异步 JavaScript 函数?

如何同时执行多个异步 JavaScript 函数?

Mary-Kate Olsen
发布: 2024-11-19 07:14:02
原创
839 人浏览过

How Can I Execute Multiple Async JavaScript Functions Concurrently?

在 JavaScript 中并发执行异步函数

在 JavaScript 中,等待多个异步函数可能会给人一种它们是按顺序执行而不是同时执行的印象。这就提出了一个问题:我们如何实现这些函数的并行执行?

使用 Promise.all() 进行并行

要并行执行异步函数,可以使用 Promise.all( ) 功能。它接受一个 Promise 数组作为参数,并返回一个在数组中的所有 Promise 解析时解析的 Promise。

await Promise.all([someCall(), anotherCall()]);
登录后复制

在此代码中,同时调用 someCall() 和 anotherCall(),并且只有当两个函数都完成执行后,脚本才会继续。

存储结果

如果您想访问并行异步调用的结果,你可以解构 Promise.all() 返回的数组:

let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);
登录后复制

警告:快速失败行为

需要注意的是,Promise.all() 遵循“快速失败”行为“ 方法。如果数组中的任何 Promise 被拒绝,则整个 Promise.all() Promise 将被拒绝,并显示第一个失败 Promise 的错误:

// If any of the promises fails, it will reject
Promise.all([happy('happy', 100), sad('sad', 50)]).then(console.log).catch(console.log);
登录后复制

以上是如何同时执行多个异步 JavaScript 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板