Я пытаюсь захватить событие long-press в примере модели. См. Код ниже:Обнаружение длинного интервала между событиями с помощью RxJS
var Rx = require('rx'),
Observable = Rx.Observable;
var downEvents = [
// {'type': 'down', 'time': 50},
// {'type': 'down', 'time': 80},
// {'type': 'down', 'time': 140},
{'type': 'down', 'time': 250}
];
var upEvents = [
// {'type': 'up', 'time': 60},
// {'type': 'up', 'time': 90},
// {'type': 'up', 'time': 150},
{'type': 'up', 'time': 850}
];
var downStream = Observable.from(downEvents).flatMap(function(event) {
return Observable.just(event.type).delay(event.time);
});
var upStream = Observable.from(upEvents).flatMap(function(event) {
return Observable.just(event.type).delay(event.time);
});
var longClicks = downStream.flatMap(function(d) {
return Observable.just(d).delay(400).takeUntil(upStream);
});
longClicks.subscribe(function(x) {
console.log('long click: ' + x);
});
И он фиксирует это единственное событие. Но если я раскомментирую предыдущие события, он ничего не получит. Может ли кто-нибудь помочь мне понять, почему это так?
С событиями UI и тот же код работает отлично: https://jsfiddle.net/zjor/0uqaw936/