Я все еще выясняю реактивное программирование, поэтому я уверен, что это очень простой, но количество преобразований потоков довольно податливо для новичков.RxJS ждать, пока не будет достигнуто обещание
Я создаю наблюдаемое событие DOM. Это событие должно в свою очередь инициировать вызов REST, и все другие события DOM будут игнорироваться до тех пор, пока это событие не будет разрешено.
const stream = Observable.fromEvent(document, 'some-event')
stream
.flatMap(() => httpRestService())
.subscribe(() => {
})
Как проигнорировать события из потока до тех пор, пока не будет разрешено последнее обещание HTTP?
DOM event
A - - - - B - - - - C
HTTP event
D ...........done - C
Прежде всего, наблюдатель не испускает значения, он получает значения. Итак, ваш наблюдатель является наблюдаемым. Тогда я не знаю, что вы подразумеваете под «игнорированием». Эти события потеряны или поставлены в очередь? Лучший способ представить свой вопрос - указать входные и ожидаемые результаты. Это лучше всего сделать с мраморной диаграммой – user3743222
@ user3743222 обновлено – Harangue
Возможно, 'skipUntil' будет тем, что вы ищете? http://reactivex.io/documentation/operators/skipuntil.html – Stephen