设计并实现 Promise. race()

简介: 设计并实现 Promise. race()
Promise._race = promises => new Promise((resolve, reject) => {
    promises.forEach(promise => {
        promise.then(resolve, reject)
    })
})



基本和上面的例子差不多,不同点是每个传入值使用Promise. resolve转为Promise对象,兼容非Promise对象

const _race = (p) => {
    return new Promise((resolve, reject) => {
        p.forEach((item) => {
            Promise.resolve(item).then(resolve, reject)
        })
    })
}
相关文章
|
前端开发
21 # 实现 promise 的 race 方法
21 # 实现 promise 的 race 方法
52 0
|
前端开发
20 # 实现 promise 的 all 方法
20 # 实现 promise 的 all 方法
52 0
|
前端开发
7 # promise 的 then 方法
7 # promise 的 then 方法
88 0
|
7月前
|
前端开发 JavaScript
【面试题】async/await、promise和setTimeout的执行顺序
【面试题】async/await、promise和setTimeout的执行顺序
|
12天前
|
前端开发
Promise.allSettled()方法和Promise.race()方法有什么区别?
`Promise.allSettled()` 提供了一种更全面、更详细的方式来处理多个 `Promise`,而 `Promise.race()` 则更强调速度和竞争。我们需要根据具体的需求来选择使用哪种方法。
|
22天前
|
前端开发
Promise.race() 方法在什么场景下使用?
`Promise.race()` 方法通过其独特的竞争机制,在需要快速获取结果、设置超时控制、实现快速失败以及根据条件动态选择异步操作等场景中,能够提供简洁有效的解决方案,帮助优化异步操作的执行流程和提高系统的响应性能。
|
18天前
|
前端开发 JavaScript
Promise 的详解
总的来说,Promise 为处理异步操作提供了强大而灵活的工具,使代码更具可读性和可维护性,是现代 JavaScript 中不可或缺的一部分。
|
7月前
|
前端开发 JavaScript API
Promise 对象与 Promises/A+ 规范
Promise 对象与 Promises/A+ 规范
106 0
|
7月前
|
前端开发 JavaScript Java
Promise, async, await实现异步编程,代码详解
Promise, async, await实现异步编程,代码详解
76 1
|
7月前
|
前端开发
promise和async的区别是什么?
promise和async的区别是什么?
89 1