gpt4 book ai didi

typescript - Angular2 Rxjs 观察者不会设置如果超过一个

转载 作者:搜寻专家 更新时间:2023-10-30 21:42:48 24 4
gpt4 key购买 nike

我正在尝试从我的构造函数中设置多个观察者。只有一个正在设置,其余的没有设置为 null(未更改)。

我不确定它为什么这样做。

export class gq {

/**
* This is observable data service https://coryrylan.com/blog/angular-2-observable-data-services
*/
constructor(private api: Api)
{
this._ = {

// just to define object here, else it will give error
observer: {
s: '', q: '', translation: '', translationLanguage: '', transliteration: '', r: '', content: ''
},

// observables
observable: {
s$: new Observable(observer => this._.observer.s = observer).share(),
q$: new Observable(observer => this._.observer.q = observer).share(),
translation$: new Observable(observer => this._.observer.translation = observer).share(),
translationLanguage$: new Observable(observer => this._.observer.translationLanguage = observer).share(),
transliteration$: new Observable(observer => this._.observer.transliteration = observer).share(),
r$: new Observable(observer => this._.observer.r = observer).share(),
content$: new Observable(observer => this._.observer.content = observer).share(),
}
};


console.log(this._.observer);
console.log('triggered constructor');
}
}

输出为

Object {s: Subject, q: "", translation: "", translationLanguage: "", transliteration: ""…}

如您所见,它只设置了带有 Subject 的 s,但其余的都是 null

最佳答案

我不知道您的应用程序代码的其余部分,但您需要知道可观察对象是惰性的。这意味着您在调用 Observable 构造函数时指定的回调仅在您订阅它时被调用。

也许您只订阅第一个可观察对象而不订阅其他...

关于typescript - Angular2 Rxjs 观察者不会设置如果超过一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35401920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com