专栏
扫码关注公众号
简述Promise的状态
Promise有三种状态,分别是Pending(进行中)、Resolved(已完成)、Rejected(已失败)。Promise从Pending状态开始,如果成功就转到成功态,并执行resolve回调函数;如果失败就转到失败状态并执行reject回调函数。
async 函数的含义
async是ES7才有的与异步操作有关的关键字,和Promise,Generator有很大关联的。async函数是什么?一句话,它就是Generator函数的语法糖。async是异步的简写,用于声明一个函数是异步执行。await用于等待一个异步方法执行完毕。await只能用于async函数中。
为什么要用Promise?
1.指定回调函数的方式灵活,可以在异步任务前指定也可以在异步任务后指定,而以前指定回调函数必须在异步任务开始前指定。2.支持链式调用,可以解决回调地狱问题3.回调地狱:回调函数嵌套调用,内层的回调函数需要的条件是外层异步执行的结果。不便于阅读还有异常处理,4.解决方案。promise链式调用。5.最佳解决方案,async/await(在程序员角度没有回调函数,编译后其实还是会有回调函数)