簡體   English   中英

結合RxJs可觀察數組

[英]combine RxJs Observable array

我正在嘗試在Ionic2 + Meteor移動應用程序中進行無限滾動,其中列出了聯系人。 在下面的代碼中,findContacts()函數一次返回10個聯系人。 聯系人:可觀察;

  findContacts() :Observable<Contact[]> {
    /* logic to pull Contacts is here ...*/
  }

  this.contactsSub =  MeteorObservable.subscribe('contacts', options).subscribe(() => {
      MeteorObservable.autorun().subscribe(() => {
        if(!this.contacts) {
          this.contacts = this.findContacts();
        }
      });
  });

每次用戶滾動到列表的末尾並獲取下10個聯系人時,都會調用此代碼。 但是這里的問題是,它沒有追加到已經列出的聯系人中。 它僅顯示新拉的10個聯系人。 我嘗試了Observable.concat,但沒有給出不良結果。 當我嘗試mergeMap時,它進入indifnite循環並出錯。 您能否讓我知道如何合並可觀察數組對象? 任何幫助是極大的贊賞。 我在這個問題上停留了一個多星期。 謝謝。

您可以通過將聯系人更改為數組來完成此操作

contacts: Array<any>= []
findContacts() :Observable<Contact[]> {
    /* logic to pull Contacts is here ...*/
  }

  this.contactsSub =  MeteorObservable.subscribe('contacts', options).subscribe(() => {
      MeteorObservable.autorun().subscribe(() => {
          this.findContacts().subscribe(data => {
                this.contacts = this.contacts.concat(data);
        });
      });
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM