promise简单介绍

let promise = new Promise((resolve, reject)=>{  //resolve,reject都是回调函数。Promise构造函数返回一个promise对象
    resolve('result');
    reject('error');
})
//上面提到的promise对象有state和result两个属性,这两个属性无法被直接访问,但可以对它们使用.then/.catch/.finally方法。
//如果 promise 为 pending 状态,.then/catch/finally 处理程序(handler)将等待它。否则,如果 promise 已经是 settled 状态,它们就会运行。
.then(
    result=>{},
    error=>{}
    //两个函数二选一,promise内部代码执行成功有result就第一个,失败有error就第二个。
    //若只对成功感兴趣,可以只设置第一个函数作为参数。
    //若只对失败感兴趣,可以写成.then(null, error=>{}),当然,更推荐的方法是.catch(error=>{})。
)
//此catch不作为上面then的hanlder,而是接着promise
.catch(
    error=>{}
)
.finally(
    ()=>{}  //finally不需要参数。和then/catch不同,它不对promise的结果作处理,单纯的将result或者error传递下去。
)

 

posted @ 2021-10-10 09:32  巨魔战将  阅读(51)  评论(0编辑  收藏  举报