rxjs takeuntil,检查直到可观察源有效

时间:2017-07-21 14:23:50

标签: rxjs

搜索了几个小时......大多数例子都是这样......

var source = Rx.Observable.timer(0, 1000)
    .takeUntil(Rx.Observable.timer(5000));

var subscription = source.subscribe(
    function (x) { console.log('Next: ' + x); },
    function (err) { console.log('Error: ' + err); },
    function () { console.log('Completed'); })

结果

Next: 0
Next: 1
Next: 2
Next: 3
Next: 4
Completed

但是,我想知道是否可以从源值检查而不是另一个可观察对象..这样的事情..

var source = Rx.Observable.timer(0, 1000)
    .takeUntil((result) => result == 5);

1 个答案:

答案 0 :(得分:2)

我猜你要找的是takeWhile

var source = Rx.Observable.timer(0, 1000)
    .takeWhile((result) => result < 5);

source.subscribe(
    (val) => console.log(val),
    (err) => console.log(err),
    () => console.log('complete')
);