読者です 読者をやめる 読者になる 読者になる

Coffee scriptでstep.jsを使う (Hubotで3秒毎に発言させる)

Hubotに3秒おきに発言させるため setTimeout 使う時、あれこれ試してみて以下の様に書いてみた。step.jsを利用してコールバックのネストが深くならなくて多少見やすいかなと思ったのですが、もっと良い書き方があったら是非知りたい。

cronJob = require('cron').CronJob
step = require('step')

new cronJob('0 15 * * *', () ->
  step(
    () ->
      robot.send {room:'sample'}, "3時です"
      setTimeout @, 3000
      return
    () ->
      robot.send {room:'sample'}, "お茶の時間です"
      setTimeout @, 3000
      return
    () ->
      robot.send {room:'sample'}, "休みましょう"
      return
  )
).start()