我有一个计时器:
initiateTimer() {
if (this.timerSub)
this.destroyTimer();
let timer = TimerObservable.create(0, 1000);
this.timerSub = timer.subscribe(t => {
this.secondTicks = t
});
}
Run Code Online (Sandbox Code Playgroud)
如何在60分钟后向用户添加弹出窗口?我已经尝试过看几个问题(这个和这个),但它不是为了点击我.RxJS模式还是新手......
假设我有两个observable和一个我想听一个observable的变化,如果另一个匹配某个条件.我尝试了它,zip但似乎我只会被通知,如果两个 可观察量都发生了变化,但是如果另一个观察到的情况是真的,我希望收到一个可观察的变化的通知.
我尝试了什么:
var firstState = new Rx.BehaviorSubject(undefined);
var secondState = new Rx.BehaviorSubject(undefined);
Rx.Observable.zip(firstState, secondState, function (first, second) {
return {
first: first,
second: second
}
}).filter(function (value) {
return value.first !== undefined;
}).subscribe(function (value) {
// do something with value.second
});
Run Code Online (Sandbox Code Playgroud)
我注意到有一个Rx.Observable.if,但我无法让它工作.
我想要实现的是有条件地运行一系列可观察量.
return observable.map(response => response)
.flatmap(response1 => observable1(response1))
.flatmap(response2 => observable2(response2))
.flatmap(response3 => observable3(response3))
Run Code Online (Sandbox Code Playgroud)
我需要检查response1并在需要时调用剩余的observable,否则我需要返回response1并中断执行,依此类推.
我已经完成了以下SO问题,但他们似乎没有回答我的问题
我是rxjs的新手,如果这个问题看起来太蹩脚,请原谅我.
任何帮助将不胜感激.
谢谢