我的JavaScript如下:
var util = require('util');
EventEmitter = require('events').EventEmitter;
var Ticker = function() {
var self = this;
setInterval( function() {
self.emit('tick');
}, 1000 );
}
什么是等效的CoffeeScript?
答案 0 :(得分:33)
util = require 'util'
EventEmitter = require('events').EventEmitter
Ticker = ->
self = this
setInterval ->
self.emit 'tick'
, 1000
true
通过将逗号与要传递的函数对齐来添加第二个参数,因此它知道第二个参数即将到来。
它也返回true而不是setInterval,虽然我个人看不到不返回setInterval的优势。
这是一个带有粗箭头的版本(请参阅注释)和解构赋值(请参阅其他注释)。另外,返回setInterval而不是显式返回true。
util = require 'util'
{EventEmitter} = require 'events'
Ticker = ->
setInterval =>
@emit 'tick'
, 1000