Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如果超过一个,则Angular2 Rxjs观察员未设置_Typescript_Angular_Observable_Rxjs_Observers - Fatal编程技术网

Typescript 如果超过一个,则Angular2 Rxjs观察员未设置

Typescript 如果超过一个,则Angular2 Rxjs观察员未设置,typescript,angular,observable,rxjs,observers,Typescript,Angular,Observable,Rxjs,Observers,我试图从构造函数中设置多个观察者。只有一个正在设置,其余的未设置为null(未更改) 我不知道它为什么这样做 export class gq { /** * This is observable data service https://coryrylan.com/blog/angular-2-observable-data-services */ constructor(private api: Api) { this._ = {

我试图从构造函数中设置多个观察者。只有一个正在设置,其余的未设置为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
构造函数时指定的回调仅在您订阅它时才被调用

也许你只订阅第一个可观察到的,而不订阅其他的