Итак, в основном я пытаюсь обновить массив для его отображения, одна из наблюдаемых - это объект поведения, который начинается как пустой массив, а затем получает новое значение из HTTP-запроса, другой источник событий из пагинатора материала Angular, желаемое поведение - обновлять список, если первая наблюдаемая получает новый массив или вторая генерирует событие для изменения страницы.
Первая вещь, которую я пытаюсь было:
connect(): Observable<Transaction[]> {
return this.paginator.page.pipe(
map(() => {
return this.list.pipe(map(t => this.getPagedData(t)));
}),
switchMap(m => m) // or mergeMap
);
}
И это вроде работает, проблема в том, что в первый раз он ничего не излучает, потому что он ожидает, что внешняя наблюдаемая что-то испустит, затем он работает.
затем я пытаюсь
return merge(this.list, this.paginator.page).pipe(
map(x => this.getPagedData(x[0])),
);
Но, кажется, этот первый только первый раз, когда массив пуст