Я строю магазин действий.
Модель моего магазина выглядит так:
{
entities: {[n:number]: Client},
ids: number[],
}
Я получаю идентификаторы из бэкэнда, которые соответствуют заданным условиям.
Затем мне нужно получить из бэкэнда те объекты, которые еще не сохранены.
Но я не знаю, как передать извлеченные идентификаторы в withLatestFrom
функцию?
const params = {
conditions,
fields: ['id']
};
this.apiService.getList(params)
.pipe(
map(resp => {
const ids: number[] = [];
resp.map((item: Client) => {
ids.push(+item.id);
});
return ids;
}),
withLatestFrom(this.checkEntities()), // how to pass ids ?
tap(resp => {
patchState({
entities: resp[1],
ids: resp[0],
loading: false
});
})
);
private checkEntities(ids: number[]) {
const params: ApiWyszukiwarka = {
conditions: {id: ids},
fields: 'all'
};
return this.apiService.getList(params);
}
А может я что-то не так делаю?