async await yield


问题:async 和yield有什么区别?

无奈只能用“书到用时方恨少”来解释这个问题了。其实也是自己从开始编程就接触的是nodejs中的async 以及await ,yield几乎、貌似好像都没使用过,至于它俩的区别,自己也就一知半解了,还希望看到这个问题的大神可以指教一二

零零总总的总结一点:

1.ES6语法:async 与await搭配使用,不能拆开;

2.都是属于异步方案;

3.本质上:是解决异步编程怎么像同步编成那样写的;

4.yield :需要手动控制异步执行过程,调用.next()一步一步手动执行;方法名前加 *  ;

5.async:算是异步执行问题的终极解决办法,在写法上就是用 async代替yield中的 * ,await代替yield,返回值是promise;

6.async是标准,yield比较hack

7.就功能或者某些方面来说,async属于yield的子集;(yeild可以接收数组来并发,也可以接收object来并发);yield后面跟数组的话,自动加Promise.all()来执行;await后面只能接promise,并且返回的也是promise;

8.async/await 相对于Generator:语义上更容易理解;

9.async await不需要generator,自带执行器。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM