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