Promise
原理
- 简易版Promise
- 实现原理,执行从闭包带出来的resolve和reject函数
- 然后再执行then,将函数压到执行栈中
- 然后第一步的异步函数执行好了,就会利用resolve或reject传入参数并执行栈中的函数
实现
1 | const PENDING = 'pending'; |
Promise.all
原理
- 返回新的promise,遍历循环传入的数组,处理每一个promise的then和catch
- then里处理将返回的内容写入对应的位置,如果判断所有结果已经处理,就将数组集合resolve
- catch里处理错误,只要有一个错误,就直接将错误reject
实现
1 | const promiseAll = (arr) => { |
Promise.race
原理
- 返回新的promise,遍历循环传入的数组,处理每一个promise的then和catch
- then里处理返回的内容,只要有返回,立即将结果resolve
- catch里处理错误,只要捕获到错误,立即将错误reject
实现
1 | const promiseRace = (arr) => { |