Tôi có một đường ống RxJS5 trông như thế nàyRxJS takeWhile nhưng bao gồm giá trị cuối cùng
Rx.Observable.from([2, 3, 4, 5, 6])
.takeWhile((v) => { v !== 4 })
tôi muốn giữ đăng ký cho đến khi tôi thấy 4, nhưng tôi muốn yếu tố cuối cùng 4 cũng được bao gồm trong kết quả . Vì vậy, ví dụ trên nên
2, 3, 4
Tuy nhiên, theo official document, takeWhile
điều hành không phải là toàn diện. Điều đó có nghĩa là khi nó gặp phần tử không khớp với biến vị ngữ mà chúng tôi đã cung cấp, nó hoàn thành luồng ngay lập tức mà không có phần tử cuối cùng. Kết quả là, các mã trên sẽ thực sự ra
2, 3
Vì vậy, câu hỏi của tôi là, cách dễ nhất tôi có thể đạt được takeWhile
mà còn phát ra yếu tố cuối cùng với RxJS là gì?
Hơi phô trương, nhưng cách dễ nhất sẽ là '.takeWhile (v => v <5) ' – cartant
Nghiêm trọng hơn: https://github.com/martinsik/rxjs-extra/blob/master/src/operator/takeWhileInclusive.ts – cartant