Promise 异步编程
Last updated
Last updated
不能够保证异步编程的执行顺序,例如读取不同的文件
为了固定文件的读取顺序,可以在异步读取中进行嵌套
为了解决回调嵌套的问题,ES6中新增了promise API解决这个问题
首先定义一个Promise对象,对象中的函数会立即执行,函数有两个回调函数用于接收执行程序中的结果或报错信息
resolve&reject
Promise对象使用then方法可以获取程序的执行结果并且进入下一个依赖的程序
then函数的参数都是可选的,即可以不看Promise对象的执行结果直接执行下一个程序,也可以给函数一个data参数,获取Promise对象执行成功后的数据
为了避免promise对象一被创建就进入执行状态,使用函数将promise对象封装在函数作用域;通过调用函数来执行promise
函数带了两个回调函数,分别对应了成功的回调函数resolve与失败的回调函数reject
当要进行的操作成功或者失败时,将对应的函数与数据返回给Promise实例对象
Promise对象使用对应的then方法处理两个回调函数
then 方法接受两个回调函数,成功的回调必须写而失败的回调可以不写
1.出错之后继续异步执行
在then的第二个位置传递出错的回调函数,函数返回下一个promise
2. 抛出错误,结束异步执行
使用catch捕获异常,传递异常处理函数
3. 如果同时写了这两种处理方法的话,catch是不能够生效的