ES6 Generator函數

  • 概念
    Generator函數是ES6的一種異步編程解決方案,是一個遍歷器對象生成函數,返回的對象可以依次遍歷內部的每一個狀態。
  • 特徵
    • function命令與函數名間有星號,以下書寫方式均可:
      • function* a( ){ };
      • function *a( ){ };
      • function * a( ) { };
    • yield語句定義內部狀態
    • 函數內部遇到return狀態結束執行
    • 第一次調用Generator函數,函數不執行,返回內部狀態的指針對象
    • 調用Generator的next方法,yield語句是跳出執行、暫停標誌,next方法是恢復執行
    • next方法的返回值是對象,內容是{value:XXX,done: false},done屬性的值false表示遍歷未結束
    • yield語句用在表達式中時必須放在圓括號裏
    • yield用作賦值時必須在=右邊,可不加括號
    • next方法可以帶一個參數,該參數會被當成上一個yield語句的返回值,也因此第一次調用next方法不能帶參數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章