mongo.connect(url, test()gen.next();
也就是上面說的,讓函數繼續運行的指令。
簡單地總結一下:
生成器通過yield設置了一些類似”斷點“的東西,使得函數執行到yield的時候會被阻斷;
生成器要通過next()指令一步一步地往下執行(兩個yield之間為一步);
yield 語句後面帶著的表達式或函數,將在阻斷之前執行完畢;
yield 語句下面的代碼,將不可能在阻斷之前被執行;
由此可以看出,yield是如何將異步非阻塞代碼,變成 異步阻塞代碼。
閱讀更多 蒲公英的憂傷 的文章