В вашем фрагменте кода есть опечатка, в которой вы устанавливаете результат из оператора комбинированного последнего rxjs как combined$
, затем вы называете его как combined
в следующей строке, которая, как я полагаю, неверна, или просто ошибка перевода, когдапереходя эту проблему к SO.(независимо от того, должны указать на это хе-хе)
Далее оператор combineLatest
возвращает массив всех наблюдаемых.Таким образом, вы можете легко получить последние значения из всех наблюдаемых с помощью деструктурирования в операторе map
.
Ниже приведен окончательный код:
const combined$ = combineLatest(this.first$, this.second$);
this.output$ = combined.pipe(
map(([x, y]) => {
return x.map(a => {
a.title = a.title;
a.id = a.id;
a.other = a.other;
a.exists = y.find(b => b.id === a.id )
});
})
);
В исходном кодеВы по существу передавали массив значений как x
.