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
的变量不能再作为实例在函数内部使用。 CoffeeScript是一种能编译成JavaScript的语言,它的目标是 使用简单的方法展现JavaScript好的一面 。
查看英文原文: CoffeeScript 1.9 is Available, Introduces Generators Support