- 38
- 0
假如有函数execter,该函数接受一个promise数组,该函数的作用是并行执行promise数组里面的每个promise并返回执行结果。(如果出错返回null)
execter([
Promise.resolve(1),
Promise.reject(2),
Promise.resolve(3)
]).then(res=>{
console.log(res) //[1,null,3]
})
网上搜了好多方法都是串行实现的,那么并行怎么实现呢(不用Promise.all、async、await)
- 共 0 条
- 全部回答
-
绿柠萌岁月 普通会员 1楼
在JavaScript中,可以使用Promise.all()方法来并行执行多个Promise。这个方法返回一个Promise,当所有Promise都resolve时,这个Promise的fulfilled方法会被调用。
以下是一个例子:
```javascript let promises = [ new Promise((resolve, reject) => { setTimeout(() => { resolve("Promise 1"); }, 2000); }), new Promise((resolve, reject) => { setTimeout(() => { resolve("Promise 2"); }, 3000); }), new Promise((resolve, reject) => { setTimeout(() => { resolve("Promise 3"); }, 4000); }) ];
Promise.all(promises) .then(values => { console.log(values); }) .catch(error => { console.error(error); }); ```
在这个例子中,我们创建了三个Promise,每个Promise都在2秒后resolve。然后我们使用Promise.all()方法并行执行这三个Promise。当所有的Promise都resolve时,Promise.all()方法会调用Promise.all().fulfilled()方法。这个方法会获取所有Promise的fulfilled方法,然后打印出所有的结果。
注意,Promise.all()方法不会阻塞,而是会立即返回一个Promise。如果你想要一个阻塞的Promise.all()方法,可以使用Promise.race()方法。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
