Как совместить два наблюдаемых массива одного типа в угловых 6? - PullRequest
0 голосов
/ 25 октября 2018

Кажется, я не могу понять, как объединить два наблюдаемых массива.Используется Angular 6, rxjs 6.3.2

Пример кода:

var arrayOfUsers = this.httpCallToGetObservableArrayOfUsers();
var anotherArrayOfUsers = this.httpCallToGetADifferentArrayOfUsers();

//how do I combine these two Observable<User[]>?

Заранее спасибо

1 Ответ

0 голосов
/ 25 октября 2018

Так как ваши наблюдаемые являются http-вызовами, я предполагаю, что они завершаются после передачи.вы можете использовать forkJoin, чтобы объединить их:

var arrayOfUsers = this.httpCallToGetObservableArrayOfUsers();
var anotherArrayOfUsers = this.httpCallToGetADifferentArrayOfUsers();

const allUsersArray = forkJoin(arrayOfUsers, anotherArrayOfUsers).pipe(
    map(([users, otherUsers]) => users.concat(otherUsers))
);

, если ваши наблюдаемые не завершаются, используйте объединитьПоследний:

const allUsersArray = combineLatest(arrayOfUsers, anotherArrayOfUsers).pipe(
    map(([users, otherUsers]) => users.concat(otherUsers))
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...