Promise
Promise是ES6引入的一个新的对象,他的主要作用是用来解决JS异步机制里,回调机制产生的“回调地狱”。它封装了异步回调形式,使得异步回调可以写的更加优雅,可读性更高,而且可以链式调用。Promise的构造函数接收一个参数:函数,并且这个函数需要传入两个参数:
resolve :异步操作执行成功后的回调函数
reject:异步操作执行失败后的回调函数
在用的时候先new一个Promise
let p = new Promise(
function(resolve,reject){
if(/* success */){
//….执行的代码
resolve() // 把当前的状态转换为 成功
}else{
//….执行的代码
reject() // 把当前的状态转换为 失败
}
);
状态转换为成功时,触发的代码
p.then(执行的代码)
状态转换为失败时,触发的函数
p.catch(执行的代码)
.then链式用法
p.then(执行的代码1)
.then(执行的代码2)
.then(执行的代码3)