Rxjs 如何使可观察对象仅发射最新值而不发射过去值

Rxjs 如何使可观察对象仅发射最新值而不发射过去值,rxjs,angular6,angular2-observables,rxjs-observables,Rxjs,Angular6,Angular2 Observables,Rxjs Observables,我有一个ConnectableObservable,它是行为主题的一部分 question$: ConnectableObservable<Result>; private questionSubject: BehaviorSubject<Result>; this.questionSubject = new BehaviorSubject<Result>(new Result('initial',{})); this.question$ = (this.

我有一个
ConnectableObservable
,它是
行为主题的一部分

question$: ConnectableObservable<Result>;
private questionSubject: BehaviorSubject<Result>; 

this.questionSubject = new BehaviorSubject<Result>(new Result('initial',{}));
this.question$ = (this.questionSubject.asObservable()).pipe(publish()) as ConnectableObservable<Result>;
主题
似乎也在发出过去的值

    jsonQuestion response:  {"question-id":"78830909-b23e-4345-bc69-63f3ce039b20",...} //SUBJECT SENDS THIS
question-details.component.ts:369 got stream value  Result {result: "success", additionalInfo: "{"question-id":"78830909-b23e-4345-bc69-63f3ce039b…2-ae23-f284213ff80a"},"is-question-creator":true}"}// OBSERVABLE RECEIVED THIS
... AND THE SAME TRACE COMES AGAIN!!
question-details.component.ts:369 got stream value  Result {result: "success", additionalInfo: "{"question-id":"78830909-b23e-4345-bc69-63f3ce039b…2-ae23-f284213ff80a"},"is-question-creator":true}"}

为什么可观察对象发送多个值。如何使其仅发送最新值?

当您看到Subject或Behavior Subject发出多条相同的消息时,问题可能是您有多个订阅

您可以通过多次订阅或不适当地处理订阅来获得多个订阅


我必须查看您的订阅才能更具体一些。:-)

当您看到Subject或BehaviorSubject发出多条相同的消息时,问题可能是您有多个订阅

您可以通过多次订阅或不适当地处理订阅来获得多个订阅


我必须查看您的订阅才能更具体一些。:-)

这就是
BehaviorSubject
所做的。它总是首先发出缓冲值。也许您需要改用Subject?您对此有多个订阅。问题$?生成这些消息的详细代码是什么样子的?DeborahK-你这个天才!问题确实是多个订阅。我的组件将订阅,但我没有在
onDestroy
上取消订阅。为了每个人的利益,请您提交一份答案,解释为什么会出现多个订阅?完成………这就是
行为主体
的作用。它总是首先发出缓冲值。也许您需要改用Subject?您对此有多个订阅。问题$?生成这些消息的详细代码是什么样子的?DeborahK-你这个天才!问题确实是多个订阅。我的组件将订阅,但我没有在
onDestroy
上取消订阅。为了每个人的利益,请您提交一份答案,解释为什么会出现多个订阅问题?完成。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
    jsonQuestion response:  {"question-id":"78830909-b23e-4345-bc69-63f3ce039b20",...} //SUBJECT SENDS THIS
question-details.component.ts:369 got stream value  Result {result: "success", additionalInfo: "{"question-id":"78830909-b23e-4345-bc69-63f3ce039b…2-ae23-f284213ff80a"},"is-question-creator":true}"}// OBSERVABLE RECEIVED THIS
... AND THE SAME TRACE COMES AGAIN!!
question-details.component.ts:369 got stream value  Result {result: "success", additionalInfo: "{"question-id":"78830909-b23e-4345-bc69-63f3ce039b…2-ae23-f284213ff80a"},"is-question-creator":true}"}