Я использую BaconJS для создания двух таких потоков событий:
# Wait for start of the module
sStart = Bacon.fromCallback module.onStart.bind(module)
# Watch game ticks
sTick = Bacon.fromEventTarget emitter, 'tick'
# Combine it to do something
Bacon.onValues sStart, sTick, ->
# Do something on each tick, but only when module has been started
Я хочу использовать его для синхронизации. Как только модуль запущен, он должен начать прослушивание тиков, не раньше. Это почти работает, но обратный вызов вызывается для всех прошлых тиков, которые были отправлены до запуска модуля, а не только для последнего. Чем я хочу, чтобы этот обратный вызов вызывался для каждого следующего тика.
Я в значительной степени начинаю с FRP, возможно, есть какой-то элегантный способ справиться с этим, но я просто не вижу его сейчас. Любые идеи ?