callback多个请求并发 不好管理 链式调用导致嵌套的过多promise优点 可以优雅的处理异步 处理错误 缺点还是基于回调的,还是会有嵌套的问题generator + co dva让代码像同步一样的执行 不能支持try+catchasync await* 解决异步 问题的目前的终极的解决方案, 支持try+catch
视频观看地址:http://www.doudouyoutang.com/course.html
- js中的函数
- 一个函数的参数 是函数
- 一个函数的返回值 是函数
before方法after方法
- 并行的读取文件
- 依赖于
after方法实现的 - 依赖于
发布订阅的设计模式来实现
发布订阅的设计模式观察者的设计模式
- 基本语法(语法糖)
- 三种状态 默认状态:
pending(等待)fulfilled(成功)rejected(失败) promise一旦成功,就不能失败,一旦失败,就不能成功- 执行器同步执行 但是
then是异步的 - 执行器一旦运行报错,就会走
reject promise提供了链式调用then方法执行的结果是一个promise,每次返回的promise都是一个新的promise- 自己写的
promise要通过test测试,符合promise a+规范 resolve(new Promise)catch方法,finally方法(原型上的方法,实例上的方法)Promise.resolve/Promise.reject(类上面的方法)Promise.all/Promise.race(类上面的方法)promisify->promise化
iterator迭代器next()generator遇到yield会暂停执行
generator + co = async awaitasync函数执行后返回的是一个promise- 如果
try+catch那么这个promise返回的就是真