我試圖瞭解node.js v8,中的javascript生成器,而不使用任何第三方庫。如何在javascript v8生成器代碼中調用給定的回調函數?
我想嘗試具有發電機調用異步回調(類似Web請求),並返回一個被稱爲回值。 (使用節點v0.11.12)
我的代碼如下所示:
var callbackWrapper = function(){
return function(callback) {
callback(null, 5);
};
};
var result = null;
var generator = (function *(){
result = yield callbackWrapper();
})();
var nextIteration = generator.next();
這段代碼的最後,nextIteration.value是一個函數,並結果仍然是空。
這是我的理解是,如果產量給出一個回調的方法,它會調用該回調。
我的目標是要以某種方式獲取價值,5,那個叫回來。
這樣做的方法是什麼?我是否必須通過一些函數nextIteration.value並調用它?
「這是我的理解,如果yield給了一個回調方法,它會調用這個回調函數。」 編號* yield *僅返回一個值給* generator.next()*的調用者* –