promise最主要的思想就是對異步操作結果的一個承諾,承諾的狀態有如下幾種:
- 1.pending: promise 的初始化狀態
- 2.fulfilled:代表異步操作成功
- 3.rejected:代表異步操作失敗
注意:當一個promise處於 fulfilled或rejected狀態後,它的狀態就永遠不可更改了。
function foo(){
return new Promise ((fulfill,reject) => {
try{
fulfill("success");
}catch(error){
reject("fail");
}
});
}
//調用promise 方法
this.foo().then(res =>{
console.info(res);
}).catch(err =>{
console.error(err);
}
);
/**
*正常在promise中並不需要 try...catch ,因爲promise會在異常拋出的時候
*自動進入 rejected狀態。
*上段代碼中聲明瞭一個foo的函數,返回一個promise.
*一個promise包含一個then方法,它接受一個函數,在promise被fulfilled後調用。
*promise還提供了一個名爲catch的方法,它在promise被rejected之後被調用
**/