旦旦最近开始找工作啦~~~~~
今天遇到一个挺有意思的面试题,让我用js原生实现Promise.all
因为不熟悉这个API,所以当时只是实现了全部resolve后执行回调这个功能
回来后又看了下Promise.all的详细规则和使用方法,做了亿点改进
Promise.all描述
- Promise.all(iterable) 方法返回一个 Promise 实例
- 此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve)
- 如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败的原因是第一个失败 promise 的结果
JS实现all方法
function all(iterableArr) {
// 返回一个promise实例(符合第一条规则)
return new Promise((resolve, reject) => {
// resArr用来存储所有resolve的promise的res
// resolveCount用来记录成功的reolve次数
const resArr = [

本文介绍了如何使用JavaScript原生代码实现Promise.all功能。在面试中遇到此问题后,作者详细研究了Promise.all的工作原理,并分享了实现该功能的详细步骤,包括当所有Promise都解析或有一个Promise被拒绝时的处理机制。
最低0.47元/天 解锁文章
1149

被折叠的 条评论
为什么被折叠?



