异步编程-Generator Async Await Promise
异步编程的实现方法
- Promise
- Generator
- Async Await
Promise
JavaScript-Promise总结! | HzmBlog (huangzumao.space)
|
Generator
generator函数本来返回一个迭代器,通过next往下执行到下一个yield,第二个next起的参数是作为yield的返回值。next返回{value:step,done:true/false},return 可提前结束next;
应用:
- generator的作用场景是
- 实现函数的分段执行
- async await
- 实现一些迭代器 结合let of 使用
|
async、await
async 后面声明该个函数其中可以进行异步函数暂停代码执行,await后面可跟then的成功
|
如果AsynFunc是异步函数。那么会暂停fun执行,输出 111 222 333 444
如果是同步函数,那么会继续进行, 输出 111 333 444 222
async、await promise的比较
async、await是generator的语法糖,内置了执行器,不用再通过next去执行,返回值是一个promise对象,
和promise相比上,代码更加简洁,但是需要用到并行all race等api上,promise更方便,而且promise的reject在await上需要用try catch 获取
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HzmBlog!