web-dev-qa-db-ja.com

CoffeeScriptでIntervalを設定するにはどうすればよいですか?

私のJavaScriptは次のとおりです。

var util = require('util');
EventEmitter = require('events').EventEmitter;

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

同等のCoffeeScriptは何ですか?

24
Shamoon
util = require 'util'

EventEmitter = require('events').EventEmitter

Ticker = ->
  self = this
  setInterval ->
    self.emit 'tick'
  , 1000
  true

渡す関数とコンマを並べて2番目のパラメーターを追加すると、2番目のパラメーターが来ることがわかります。

また、setIntervalの代わりにtrueを返しますが、setIntervalを返すnotの利点を個人的には確認できません。


これは、太い矢印(コメントを参照)と破壊的な割り当て(他のコメントを参照)を備えたバージョンです。また、明示的にtrueを返す代わりに、setIntervalを返します。

util = require 'util'

{EventEmitter} = require 'events'

Ticker = ->
  setInterval =>
    @emit 'tick'
  , 1000
33
Billy Moon