отказ от ответственности: у меня есть простое решение, и я хочу документировать его здесь.
Я просматривал документацию RxJS для методов карты , которые соответствуют этому требованию - давайте назовем это mapArray
- но не смогли его найти.
of([1, 2, 3]).pipe(
mapArray(num => num + num)
).subscribe(value => console.error(value));
Мне нужен оператор, который преобразует Observable из одного или нескольких массивов (Obserable<T[][]>
) и выполняет операцию отображения для каждого из отдельных элементов каждого массива.
Обычный вариант использования для меня заключается в том, что я получаю список элементов с сервера и хочу преобразовать каждое представление json в соответствующие им классы Typescript. Это единственный наблюдаемый элемент (только один массив), но меня может заинтересовать общий случай (1 или более массивов).
let people$: Observable<Person> = of([{id: 1, name: 'joe', timestamp: '2019-10-11'}, {...}, ...]).pipe(
mapArray(Person.fromJson)
);
Я сталкивался с этой проблемой достаточно, чтобы гарантировать для нее специальный оператор. Кто-нибудь знает для этого собственный оператор RxJS?