promise api(all,any,race,resolve,reject)

Promise API是一组用于操作Promise对象的方法集合,这些方法可以方便地处理Promise相关的异步操作,提高代码的可读性和可维护性。

 一、Promise.resolve(value)

返回一个已经成功解析了value的Promise对象。

const promise = Promise.resolve(42);
promise.then(value => {
console.log(value);/输出:42
})

二、Promise.reject(reason)

返回一个已经失败了,原因为reason的Promise对象。

const promise = Promise.reject("Error");
promise.catch(reason => {
console.log(reason)//输出:Error
});

三、Promise.all(iterable)

        接收一个可迭代对象,返回一个新的Promise对象,当所有Promise都成功时(状态都为resolved),该新Promise才会成功,并返回所有Promise结果组成的数组;如果其中任何一个Promise失败,则该新Promise将失败并返回第一个失败的Promise的错误信息。

const promises = [Promise.resolve(1),Promise.resolve(2),Promise.resolve(3)]
const promise = Promise.all(promises);
promise.then(values =>{
console.log(values);//[1,2,3]
})

四、Promise.any(iterable)

        接收一个可迭代对象,返回一个新的Promise对象,当任意一个Promise成功时,该新Promise才会成功,并返回该Promise的结果;如果所有Promise均失败,则该新Promise将失败并返回所有Promise的错误信息组成的数组。

const promise1 = Promise.reject(0);
const promise2 = new Promise((resolve) => setTimeout(resolve, 100, 'quick'));
const promise3 = new Promise((resolve) => setTimeout(resolve, 500, 'slow'));

const promises = [promise1, promise2, promise3];

Promise.any(promises).then((value) => console.log(value)); //输出 "quick"

五、Promise.race(iterable)

        接收一个可迭代对象,返回一个新的Promise对象,只要其中任意一个Promise状态改变(不论成功resolved或失败Rejected),该新Promise就会立即改变为相同的状态,并返回该Promise的值或错误信息。

const promises = [Promise.resolve(1),Promise.resolve(2),Promise.resolve(3)
const promise = Promise.race(promises);
promise.then(value =>{
console.1og(value);//出:1
});

六、Promise.prototype.then(onFulfilled,onRejected)

添加对Promise解析和拒绝的处理函数,并返回一个新的Promise对象用于链式调用。

const promise = new Promise((resolve,reject)=>{
    resolve(42);
})
promise.then(value => {
    console.1og(va1ue);//输出:42
    return value*2;
}).then(value => {
    console.1og(value);//输出:84
});

七、Promise.prototype.catch(onRejected)

添加对Promise拒绝的处理函数,并返回一个新的Promise对象用于链式调用。

const promise = new Promise((resolve,reject)=>{
    reject("Error");
});
promise.catch(reason =>{
    console.log(reason);//输出:Error
})

八、Promise.prototype.finally(onFinally)

        添加一个最终处理函数,无论Promise是解析还是拒绝,都会执行该函数。该方法会返回一个新的Promise。 

const promise new Promise((resolve,reject)=>{
    resolve(42);
});
promise.finally(()=>{
    console.log("Finally'");//输出:FinaLly
)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cmd石头人 (o.O)?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值