Я пытаюсь найти самый изящный способ различать одиночные и двойные клики в Bacon.js, но я чувствую, что я не совсем понимаю, как это работает. Следующие действия для обнаружения двойного щелчка, но я немного тупик относительно того, как я буду указывать различное поведение (т. Е. Другую функцию обратного вызова) элегантно для события с одним щелчком мыши.Обработка двойных кликов И один клик изящно с FRP и Bacon.js
clicked = Bacon.fromEventTarget(document, "click")
clicked.bufferWithTimeOrCount(300, 2)
.filter((x) -> x.length is 2)
.onValue (x) ->
console.log "double clicked: ", x
Не понимаю, зачем использовать flatMap, если вы можете использовать карту. В этом случае вы всегда возвращаете поток одного события, поэтому нет необходимости в дополнительной мощности, предоставляемой flatMap. – raimohanska