作为RxJS的新手我经常创造一个在未来拥有价值的主题,但最初是undefined.这可能是undefined第一次.我目前使用a filter跳过undefined值,但这是非常麻烦的,因为我在任何地方都这样做,因为我只需要一次.(也许我在这里做错了什么?)mySubject只有在它获得第一个值之后才能以某种方式订阅onNext吗?
var mySubject = new Rx.BehaviorSubject(undefined);
mySubject.filter(function(value) {
return value !== undefined;
}).subscribe(function(value) {
// do something with the value
});
Run Code Online (Sandbox Code Playgroud)
Bra*_*don 41
用new Rx.ReplaySubject(1)而不是BehaviorSubject.
lwo*_*art 13
正如Will所提到的,你应该能够通过使用skip运算符跳过第一个值:
var mySubject = new Rx.BehaviorSubject(undefined);
mySubject.skip(1).subscribe(function(value) {
// do something with the value
});
Run Code Online (Sandbox Code Playgroud)