【发布时间】:2015-01-30 08:41:15
【问题描述】:
我正在研究 javascript 生成器,我真的很困惑。
我使用node@0.11.x 来运行这个例子:
function find() {
process.nextTick(function() {
it.next(1);
});
};
var it = (function* main() {
var k = yield find();
console.log(k);
})();
it.next();
有没有办法在生成器中获取对next 函数的引用?
类似:
function find(next) {
process.nextTick(function() {
next(1);
});
};
(function* main() {
var k = yield find(this.next);
console.log(k);
})().next();
【问题讨论】:
-
你实际上想要完成什么,流控制?
-
类似的东西。我不知道具体是什么,这是我第一次玩它。
-
我的意思是,在你的具体例子中,如果你结合你的第一个和第二个例子,你可以通过
it.next.bind(it)。但根据用例,可能会有更好的答案。但是不行,生成器不能直接访问其.next函数而不捕获范围内的对象。
标签: javascript generator ecmascript-6