有没有办法让generators进入node.js?
我目前正在使用回调来伪装它们,但是我必须记得在我的生成器函数中检查回调的响应,这会创建大量的if (callback(arg) === false) return;
我想要像python中那样的东西:
for p in primes():
if p > 100: break
do_something(p)
我在node中这样做:
primes(function(p) {
if (p > 100) return false;
do_something(p)
});
也许像coffeescript这样的东西能帮上忙?
发布于 2013-06-07 22:13:21
发布于 2011-02-01 16:29:00
答案是“目前没有”,但Marcel似乎是我的英雄。让我们希望这会发生在某个地方:
https://groups.google.com/forum/#!msg/nodejs/BNs3OsDYsYw/oCsWBw9AWC0J https://github.com/laverdet/node-fibers
发布于 2013-10-22 21:43:43
您可以在Node.js中使用生成器,但只能在0.11+中使用。Node.js 0.12 (稳定)现在可用。在节点的命令行参数中添加--harmony_generators
或--harmony
即可启用。
使用Traceur,您可以将高级JavaScript编译为普通的JavaScript。您可以为node.js制作一个动态加载程序。由于它在上运行,并编译为普通的JavaScript,因此它可以在node.js < 0.11以及浏览器中运行。
Facebook开发了一个只支持生成器的轻量级版本,叫做Regenerator。它的工作原理类似于Traceur。
https://stackoverflow.com/questions/4126634
复制相似问题