BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

CoffeeScript 1.9发布,引入对生成器的支持

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 曹知渊 关注 1 他的粉丝 发布于 2015年2月15日. 估计阅读时间: 1 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

CoffeeScript 1.9最终引入了期待已久的生成器(generator),这将会防止开发人员陷入回调函数的陷阱,并帮助他们编写异步代码。

简单说,生成器是这样一类函数,你可以中途从中退出,后面再进来,再进来时,之前的变量值都会保留。CoffeeScript 1.9使用新的关键字yield来定义生成器函数。下面是一个简单的生成器的例子:

foo = ->
    i = 0
    yield i +1
    yield i +2

重复调用这个生成器函数,会依次返回被yield的值,先是1,然后是2。

生成器是ECMAScript 6提案的一部分,并且已经在之前的node 0.11中引入,不过只有在你把--harmony-generators参数传递给node时,这个功能才会打开。不管不是和promises一起用,生成器都可以替代回调函数来处理异步代码。

CoffeeScript也提供了其他一些功能:

  • 改进了字符串和正则表达式的解析和错误处理。
  • 使用新的策略来生成内部编译器变量,这意味着声明为@parameter的变量不能再作为实例在函数内部使用。
  • 修复了REPL和最新的node.js和lo.ja之间的兼容性问题。

CoffeeScript是一种能编译成JavaScript的语言,它的目标是使用简单的方法展现JavaScript好的一面

查看英文原文:CoffeeScript 1.9 is Available, Introduces Generators Support

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT