天天看點

javascript 生成器和promise總結

生成器和promise總結

1.生成器是一種不會在同僚輸出所有值序列的函數,而是基于每次的請求生成值。

2.不同于标準函數,生成器可以挂起和恢複它們的執行狀态。當生成器生成一個值後,它将會在不阻塞主線程的基礎上挂起執行,随後靜靜地等待下次請求。

3.生成器通過在function 後面加一個星号(*)來定義。在生成器函數體内,我們可以使用新的關鍵字yield來生成一個值并挂起生成器的執行。如果我們想讓渡到另一個生成器中,可以使用yield操作符。

4.在我們控制生成器的執行過程中,通過使用疊代器的next方法調用一個生成器,它能夠建立一個疊代器對象。除此以外,我們還能夠通過next函數向生成器中傳入值。

5.promise是計算結果值的一個占位符,它是對我們最終會得到異步結果的一個保證。promise既可以成功也可以失敗,一旦設定好了,就不能有更多改變。

6.promise顯著地簡化了我們處理異步代碼的過程。通過使用then方法來生成promise鍊,我們就能輕易處理異步時序依賴。并行多個異步任務也同樣簡單:僅使用Promise.all方法即可。

7.通過将生成器和promise相結合能夠使用同步代碼來簡化異步任務。

參考《JavaScript忍者秘籍》

繼續閱讀