1.Promise函数
Promise是异步编程的一种解决方法,它有三个状态, Pending (进行中)、Resolved (已完成)、Rejected (已失败)。而状态只能改变一次,如Pending➡Resolved,或者Pending➡Rejected,如果Promise调用resolve方法,则返回成功的结果,如果调用reject方法则返回失败的结果。
new Promise((resolve: any, reject: any) => {
return resolve('aaa');
})
2.then方法
1.Promise构造函数可以使用then方法来获取返回的结果,但调用then方法得到的是一个新的Promise函数,then方法有两个回调函数作为参数,如果Promise状态为fulfilled则调用第一个回调函数,如果状态为rejected则调用第二个回调函数。
2.因为then方法调用得到的还是Promise函数,所以可以在then方法调用后再调用then方法,会根据then方法内返回的结果输出下一次调用then方法的结果。
new Promise((resolve: any, reject: any) => {
return resolve('aaa');
}).then(v=>{
console.log(v) // aaa
})
3.总结
需要注意的是,Promise构造函数本身是同步的,而then方法的使用是异步的。