Подтвердить что ты не робот

Как установить SetInterval с помощью CoffeeScript?

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

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

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

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

4b9b3361

Ответ 1

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