【发布时间】:2021-12-03 03:26:29
【问题描述】:
我尝试在多播中使用 Subject 来完成,但它没有显示在 complete() 方法中设置的完成消息。是什么原因?以及错误和完整的方法是如何使用的?
let source = new Observable(subscriber => {
subscriber.next(1);
subscriber.next(2);
return () => {
subscriber.complete();
console.log('Unsubscribed');
}
});
let subject = new Subject<number>();
const observer = {
next: (x) => console.log('Observer got a next value: ', x),
error: (err) => console.error('Observer got an error: ', err),
complete: () => console.log('Observer got a complete notification'),
};
subject.subsribe(observer);
const connectableObservable = connectable(source, {
connector: () => subject,
});
const subscription = connectableObservable.connect();
subscription.unsubscribe();
【问题讨论】:
-
调用
unsubscribe时不会调用Complete。 Observables 需要自然完成才能获得完整的信号。
标签: rxjs observable subject