【发布时间】:2014-06-17 13:22:54
【问题描述】:
我正在尝试理解 node.js v8 中的 javascript 生成器,不使用任何第三方库。
我想尝试使用一个生成器来调用异步回调(类似于 Web 请求)并返回被回调的值。
我的代码(使用 Node 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是一个函数,result仍然为null。
我的理解是,如果给 yield 一个带有回调的方法,它会调用该回调。
我的目标是以某种方式获得被回调的值 5。
这样做的方法是什么?我是否必须将一些函数传递给 nextIteration.value 并调用它?
【问题讨论】:
-
“我的理解是,如果给 yield 一个带有回调的方法,它会调用该回调。”没有。yield 只是返回一个值给 generator.next() 的调用者
标签: javascript node.js generator ecmascript-harmony