Как мне установить Интервал с CoffeeScript? - PullRequest
24 голосов
/ 07 сентября 2011

Мой JavaScript выглядит следующим образом:

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

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

Что эквивалентно CoffeeScript?

1 Ответ

33 голосов
/ 07 сентября 2011
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...