我如何setInterval与CoffeeScript

How do I setInterval with CoffeeScript?

本文关键字:CoffeeScript setInterval      更新时间:2023-09-26

我的JavaScript代码如下:

var util = require('util');
EventEmitter = require('events').EventEmitter;
var Ticker = function() {
      var self = this;
      setInterval( function() {
        self.emit('tick');
      }, 1000 );
    }

等效的CoffeeScript是什么?

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