[英]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.