ES6-Generator摘要

mongo.connect(url, test()gen.next();

也就是上面說的,讓函數繼續運行的指令。

簡單地總結一下:

  • 生成器通過yield設置了一些類似”斷點“的東西,使得函數執行到yield的時候會被阻斷;

  • 生成器要通過next()指令一步一步地往下執行(兩個yield之間為一步);

  • yield 語句後面帶著的表達式或函數,將在阻斷之前執行完畢;

  • yield 語句下面的代碼,將不可能在阻斷之前被執行;

由此可以看出,yield是如何將異步非阻塞代碼,變成 異步阻塞代碼。


分享到:


相關文章: