promise的resolve,reject,all方法

简介: promise的resolve,reject,all方法

1.resolve方法

let p1=Promise.resolve(521)
console.log(p1);
//如果传入的为非promise对象,则返回的为成功的promise对象
//如果传入的为promise对象,那么参数的结果就决定了resolve的值
let p2=Promise.resolve(new Promise((resolve,reject)=>{
    reject('error')   //在这里返回的是reject的值
    resolve('s uccess')  //在这里返回的是resolve的值
}))


2.reject方法

//接受一个失败的原因,然后直接返回一个原因的函数对象
let p1=Promise.reject(521)
let p2=Promise.reject(new Promise((resolve,reject)=>{
    //resolve('OK')
    reject('Error')
}))


3.all方法


包含n个数组的promise数组

返回一个新的promise,只有当全部的promise均成立的时候才成功,如果有一个失败那就全部失败

let p1=new Promise((resolve,reject)=>{
    resolve('success')
})
let p2=Promise.resolve('OH')
let p3=Promise.resolve('VERY GOOD')
let p4=Promise.all([p1,p2,p3])
console.log(p4);

输出图:

相关文章
|
6月前
|
前端开发
【面试题】吃透Promise?先实现一个再说(包含所有方法)(二)
【面试题】吃透Promise?先实现一个再说(包含所有方法)(二)
|
6月前
|
存储 运维 前端开发
【面试题】吃透Promise?先实现一个再说(包含所有方法)(一)
【面试题】吃透Promise?先实现一个再说(包含所有方法)(一)
|
前端开发
62 # 借用 promise 写成类的方法
62 # 借用 promise 写成类的方法
32 0
|
前端开发
21 # 实现 promise 的 race 方法
21 # 实现 promise 的 race 方法
47 0
|
前端开发
20 # 实现 promise 的 all 方法
20 # 实现 promise 的 all 方法
50 0
|
前端开发
18 # promise 的 finally 方法实现原理
18 # promise 的 finally 方法实现原理
62 0
|
前端开发
7 # promise 的 then 方法
7 # promise 的 then 方法
83 0
|
存储 前端开发
|
6天前
|
前端开发 索引
Promise.all() 方法的参数可以是什么类型?
综上所述,`Promise.all()` 方法的参数类型较为灵活,但无论使用哪种类型的可迭代对象作为参数,其核心的异步操作处理逻辑和成功失败的判断机制都是一致的,都是为了方便地处理多个异步操作的并发执行和结果汇总。
|
8天前
|
存储 前端开发
除了 Promise.all(),还有哪些方法可以处理异步并发操作?
在上述示例中,`concurrentPromises` 函数接受一个Promise数组和最大并发数作为参数,通过手动控制并发执行的Promise数量,实现了对异步操作的并发控制,并在所有Promise完成后返回结果数组。