rxjs takeuntil,检查可观测源是否有效
搜索了几个小时后。。。大多数例子都是这样的rxjs takeuntil,检查可观测源是否有效,rxjs,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); },
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);
我想你要找的是
var-source=Rx.Observable.timer(0,1000)
.takeWhile((结果)=>结果<5);
source.subscribe(
(val)=>console.log(val),
(err)=>console.log(err),
()=>console.log('complete')
);
hi,如果我想知道其他外部值是否有效,我该怎么做?我想你可以把它放在(result)=>result<5&&otherValue
中,但这是功能性的。正确的方法应该是类似Observable.CombineTest(otherValue的Observable.of),Rx.Observable.timer(0,1000)).takeWhile(([result1,result2])=>DosomethingWitterSulst);
var source = Rx.Observable.timer(0, 1000)
.takeWhile((result) => result < 5);
source.subscribe(
(val) => console.log(val),
(err) => console.log(err),
() => console.log('complete')
);