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之后被调用
**/