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传递下去。
)