异步函数笔记

2019-01-31  本文已影响1人  danihay

Generator
1、执行Generator函数会返回一个遍历器对象。该函数并不执行,返回的也不是函数运行结果,需要通过next方法,使得指针移向下一个状态。 (由 * , yield 构成,通常伴随next()) yield语句就是暂停标记。

2、yield语句不能用在普通函数中,forEach的方法参数是一个普通函数

3、for...of循环会自动调用遍历器的next方法,带有迭代器方法的数据结构都有此功能(类似:解构函数、Array.from())

4、yield函数的优点:惰性求值

promise

1、所谓promise就是一个对象,用于传递异步操作的消息。promise对象是一个构造函数。then方法返回的是一个新的Promise实例。

2、promise方法: Promise.all,Promise.race,Promise.reject,Promise.resolve,Promise.prototype.done,Promise.prototype.finally。

异步函数
1、Thunk可用于Generator函数的自动流程管理,接收和交还程序的执行权。

2、co模块本质就是Thunk+Promise,co函数接收Generator函数作为参数,返回一个Promise对象。

3、async函数就是Generator函数的语法糖,不需要通过next()才能恢复程序的执行,它内置执行器。

上一篇下一篇

猜你喜欢

热点阅读