У меня есть конвейер RxJS5, который выглядит как
Rx.Observable.from([2, 3, 4, 5, 6])
.takeWhile((v) => { v !== 4 })
Я хочу сохранить подписку, пока не увижу 4, но я хочу, чтобы последний элемент 4 также был включен в результат. Таким образом, приведенный выше пример должен быть
2, 3, 4
Однако, согласно официальному документу, оператор takeWhile
не включен. Это означает, что когда он встречает элемент, который не соответствует предикату, который мы дали, он немедленно завершает поток без последнего элемента. В результате вышеприведенный код фактически выводит
2, 3
Итак, мой вопрос: каким простым способом я могу достичь takeWhile
, но также испустить последний элемент с RxJS?