Promise创建
Promise
对象是一个构造函数,所以要用new
关键字调用
const promise = new Promise((resolve, reject) => {});
then ——回调函数
then
方法可以为异步操作添加回调函数
then()
第一个参数是resolved
状态的回调函数,第二个参数是rejected
状态的回调函数,它们都是可选的
get(apiUrl).then((resolve) => {
//resolve code
},(reject) => {
//reject code
})
finally —— 回调函数
在promise
结束后,无论结果是什么状态,都会调用finally
指定的回调函数。
get(apiUrl).then(() => {
//code
}).finally(() => {
//code
})
catch ——捕捉错误
catch()
方法用于捕捉异步操作种发生的错误
get(apiUrl).then((resolve) => {
//resolve code
},(reject) => {
//reject code
}).catch((err) => {
//error code
})
all
此方法用于将多个 Promise 实例,包装成一个新的 Promise 实例,在集合多个 promise 的返回结果时很有用
Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
});
any
这个方法用于返回第一个成功的 Promise
。只要有一个 Promise
成功此方法就会终止
race
race
函数返回一个 Promise
,它将与第一个传递的 Promise
相同的完成方式被完成。它可以是完成( resolves),也可以是失败(rejects),这要取决于第一个完成的方式是两个中的哪个。
reject
Promise.reject()
方法返回一个reject
状态的Promise
对象。
resolve
Promise.resolve
返回一个解析过的Promise
对象。