从图片到代码?
如何从 Data 和 Gates 获取 Out observable?
- 数据是任何类型的可观察对象,例如要发送到远程后端的 JSON 对象
- Gates 是一个 bool 值可观察值,其中刻度对应于 true,十字对应于 false。例如,Internet 连接,其中 true 表示网络可以访问,false 表示断开连接。
- Out 是生成的可观察对象,它发出与 Data 相同的信号,有时立即发出,有时延迟,具体取决于前面的门。例如,我可以订阅 Out,以便在连接到 Internet 时将发出的 JSON 对象发布到远程 API。
最佳答案
另一种有条件地延迟 data$ 的方法是使用 delayWhen() 这样的:
const gate$ = new BehaviorSubject<boolean>(false);
const triggerF = _ => gate$.pipe(filter(v => v));
const out$ = data$
.pipe(delayWhen(triggerF))
.subscribe( (v) => console.log(v));
// then trigger gate$, for instance:
setTimeout(() => gate$.next(true), 5000);
setTimeout(() => gate$.next(false), 10000);
关于angular - rxjs 的条件发射延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43912849/