【发布时间】:2021-10-07 14:18:41
【问题描述】:
我想确保记录在complete 上调用observable 之前提交的所有事件。
我知道存在完全停止发射事件(takeUntil 等)的运算符。
我的问题是,如果主题的完整发送太“早”,是否存在其他运营商会导致不发送排放。在某些情况下,等待观察者完成事件直到观察者处理事件是有益的?
例如,是否存在以下代码...
const subj = new Subject<string>();
subj.pipe(delay(500))
.subscribe((val) => {
console.log(val);
subj.complete();
});
subj.next('1');
...比这更有意义...
const subj = new Subject<string>();
subj.pipe(delay(500))
.subscribe((val) => {
console.log(val);
});
subj.next('1');
subj.complete();
...什么时候主题应该只发出一个值?
或者在next 之后立即完成subject 在这种情况下总是安全的?
如果还有其他我不知道的因素(例如代码的同步与异步执行),请同时提及。
【问题讨论】:
标签: rxjs