JavaScript编程异步操作解决方案:回调函数 => Promise对象 => Generator函数 => Async函数
异步编程的最高进阶就是不用关系它是不是异步,async被认为是异步操作的终极解决方案。
async本质上是Generator函数的语法糖。
async对比generator函数的优点:
1.内置执行器。async 函数的执行,与普通函数一模一样,只要一行。
2.更好的语义。 async 和 await,比起星号和 yield,语义更清楚了。async 表示函数里有异步操作,await 表示紧跟在后面的表达式需要等待结果。
3.更广的适用性。 co 函数库约定,yield 命令后面只能是 Thunk 函数或 Promise 对象,而 async 函数的 await 命令后面,可以跟 Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作)。
async函数使用示例:
如果确实希望多个请求并发执行,可以使用 Promise.all 方法。
网友评论