我正在嘗試在列出聯繫人的Ionic2 + Meteor移動應用程序中進行無限滾動。在以下代碼中,findContacts()函數一次返回10個聯繫人。 聯繫人:Observable;combine RxJs Observable array
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時,它會將其循環和錯誤輸出。 請你讓我知道如何concacate Observable數組對象?任何幫助是極大的讚賞。這個問題我堅持了一個多星期了。 謝謝。
隨着下面的行,則替換每個滾動結束現有contats實現此目的。 if(this.contactsSub){ this.contactsSub.unsubscribe(); } this.contactsSub = MeteorObservable.subscribe( '聯繫人',選項).subscribe(()=> { MeteorObservable.autorun()。訂閱(()=> { 如果(this.contacts){ 此.contacts = this.contacts.concat(this.findContacts()); } else { this.contacts = this.findContacts(); } }); }); – annadurai