首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >node.js支持yield吗?

node.js支持yield吗?
EN

Stack Overflow用户
提问于 2010-11-09 02:09:29
回答 7查看 19.9K关注 0票数 48

有没有办法让generators进入node.js?

我目前正在使用回调来伪装它们,但是我必须记得在我的生成器函数中检查回调的响应,这会创建大量的if (callback(arg) === false) return;

我想要像python中那样的东西:

代码语言:javascript
复制
for p in primes():
  if p > 100: break
  do_something(p)

我在node中这样做:

代码语言:javascript
复制
primes(function(p) {
  if (p > 100) return false;
  do_something(p)
});

也许像coffeescript这样的东西能帮上忙?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-06-07 22:13:21

Stack Overflow用户

发布于 2011-02-01 16:29:00

答案是“目前没有”,但Marcel似乎是我的英雄。让我们希望这会发生在某个地方:

https://groups.google.com/forum/#!msg/nodejs/BNs3OsDYsYw/oCsWBw9AWC0J https://github.com/laverdet/node-fibers

票数 8
EN

Stack Overflow用户

发布于 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。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4126634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档