在Javascript中重新启动生成器

Ali*_*xel 3 javascript generator node.js ecmascript-harmony

在节点(0.11.9,带有--harmony标志)中,如何在生成器完成后重新启动它?

我尝试过,generator.send(true);但它说send()方法不存在.

log*_*yth 5

你不是restart一个发电机.一旦完成,它就像任何其他功能一样完成运行.您需要重新创建生成器才能再次运行.

var count = function*(){ yield 1; return 2;};

var gen = count();
var one = gen.next();
var two = gen.next();

// To run it again, you must create another generator:
var gen2 = count();
Run Code Online (Sandbox Code Playgroud)

另一种选择是设计你的发电机,使它永远不会完成,所以你可以继续永远地调用它.如果没有看到你正在谈论的代码,很难提出建议.