在ES6中,使用new Promise()
可以創(chuàng)建一個(gè)Promise對(duì)象。Promise是一種用于處理異步操作的方式,它可以使異步代碼的執(zhí)行結(jié)果更加可控和可預(yù)測(cè)。
new Promise()
接受一個(gè)函數(shù)作為參數(shù),該函數(shù)包含兩個(gè)參數(shù):resolve
和reject
。resolve
函數(shù)用于將Promise標(biāo)記為成功并返回結(jié)果,reject
函數(shù)用于將Promise標(biāo)記為失敗并返回錯(cuò)誤信息。
const promise = new Promise((resolve, reject) => {
// 異步操作
// 如果操作成功,調(diào)用resolve并傳遞結(jié)果
// 如果操作失敗,調(diào)用reject并傳遞錯(cuò)誤信息
});
Promise對(duì)象有三種狀態(tài):pending(進(jìn)行中)、fulfilled(已成功)和rejected(已失?。R坏㏄romise的狀態(tài)變?yōu)閒ulfilled或rejected,就稱為resolved。
可以使用.then()
方法來獲取Promise的結(jié)果,它接受一個(gè)或兩個(gè)回調(diào)函數(shù)作為參數(shù)。第一個(gè)回調(diào)函數(shù)用于處理成功的情況,第二個(gè)回調(diào)函數(shù)(可選)用于處理失敗的情況。
promise.then(
result => {
// 處理成功的情況
},
error => {
// 處理失敗的情況
}
);
另外,Promise還提供了一些靜態(tài)方法,如Promise.all()
、Promise.race()
等,用于處理多個(gè)Promise對(duì)象的情況。