javascript - 在 Javascript 中重启生成器

标签 javascript node.js generator ecmascript-harmony

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

我尝试执行 generator.send(true); 但它说 send() 方法不存在。

最佳答案

您不会重新启动 生成器。一旦完成,它就像其他任何函数一样完成了运行。您需要重新创建生成器才能再次运行。

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();

另一种选择是设计您的生成器,使其永远不会结束,这样您就可以永远继续调用它。虽然没有看到您正在谈论的代码,但很难提出建议。

关于javascript - 在 Javascript 中重启生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20890031/

相关文章:

javascript - 路由嵌套数组后Vue js不渲染

javascript - JQuery 提交后禁用

javascript - Mongoose gridfs-stream 如何填充 fs.file 集合

sql-server - [Azure/mssql]如何获取插入查询记录集

javascript - 更改 socket.on ("data"的回调,fn) nodejs

javascript - GO 中的长轮询,服务器没有适当响应?

javascript - 从两个不同的数组创建一个 JSON 对象

python - 为什么将生成器传递给 iter 来使用它的生成器函数?

ruby-on-rails - 有关如何将格式良好的输出添加到自定义 Rails 生成器的指南

python - 生成器函数中的 itertools.takewhile - 为什么只评估一次?