首页 > 代码库 > async(await)函数和 Generator 函数 区别
async(await)函数和 Generator 函数 区别
async 函数是 Generator 函数的语法糖。
async 函数对 Generator 函数的改进体现在:
1. async 内置执行器。
Generator 函数的执行必须靠执行器,需要调用 next() 方法,或者用co 模块;而 async 函数自带执行器。也就是说,async 函数的执行与普通函数一模一样,只要一行。
2. 更好的语义。
async 和 await 比起星号和 yield,语义更清楚。
3.更广的适用性。
co 模块约定,yield 命令后面只能是 Thunk 函数或 Promise 对象,而 async 函数的 await 命令后面可以是 Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作)。
4. async 返回值是 Promise,可以用 then 方法指定下一步的操作。
比 Generator 函数的返回值是 Iterator 对象方便多了。
async(await)函数和 Generator 函数 区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。