例子1
const test = function*(x) ;
const a = test(1);
console.log(a.next()); //3 =x+2=3
console.log(a.next(11)); // 22/3 =2*11/3
console.log(a.next(2)); // 18=3*2*3
console.log(a.next(3)); //31 a+b+c=2*11+3*2+3=31
next引數值是上一步yield的值。
例子2nction* gen(x)
const g=gen(1)
g.next() //
g.next(2)//
g.next() //
第乙個next方法value屬性,返回表示式x+2的值。第二個next帶有引數2,這個引數可以傳入generator函式,作為上階段非同步任務的返回結果,被y接受,因而value返回2(變數y的值)
ES6學習 Generator函式
generator是es6提供的一種非同步程式設計的解決方案。形式上有兩個特徵。一是,function關鍵字和函式名之間有個星號 二是,函式內部使用yield語句,定義不同的內部狀態。function hellogenerator var hw hellogenerator 必須呼叫物件的next方...
ES6學習系列 Generator 函式
generator 總覽 上例項 function testgen let test testgen test.next test.next test.next test.next 遍歷到這裡就結束了 test.next 1 generator 函式返回的遍歷器物件和 iterator 介面的關係 ...
js ES6學習筆記 Generator函式
1 generator 函式是 es6 提供的一種非同步程式設計解決方案。形式上,generator 函式是乙個普通函式,但是有兩個特徵。一是,function關鍵字與函式名之間有乙個星號 二是,函式體內部使用yield語句,定義不同的內部狀態。2 generator函式的呼叫方法與普通函式一樣,也...