Promise是es6新增的一个特性,它解决了回调地狱但是却并没有简化代码?工作中我们会配合async/await来使用.
--【我们最常见的的异步函数就是Ajax请求,今天我便从AJax入手,由浅到深帮助你们慢慢揭开Promise的神秘面纱。】--
1.为什么会出现promise,promise的作用是什么 总所周知,promise的出现是为了解决回调函数的多层嵌套问题
2.你是怎么理解promise的? promise总共有三个状态,pending ,rejected、fulfilled 状态, 当我们创造一个promise实例化对象时,promise便进入pending状态,promise只能转化成成功状态或者失败状态,并且是不可逆的,成功和失败对应着函数的两个回调resolve和reject,成功则返回resolve,失败则返回reject,又因为promise提供了一个.catch 方法,可以捕获到所有函数体里所有进入reject的函数。
3.你是怎么理解async和await
async 和 await 是es7 提出的解决回调函数多层嵌套问题的终极解决方案
用 async 声明的函数是一个异步函数,它返回一个Promise对象 await 后面跟的是一个 promise,它返回该成功状态下传递出来的参数。
- try{} catch{}
js中的异常处理方式,当
try-catch语句中发生错误时,浏览器会认为错误已经被处理了,可以把我们无法控制的错误转化为我们自己的错误处理方法。