RxJS. Delay from array
import { of, from } from 'rxjs';
import { map, concatMap, delay } from 'rxjs/operators';
from([2,4,6,8]).pipe(
concatMap(item => of(item).pipe(delay(1000)))
).subscribe(console.log); Stackblitz (in console):
import { of, from } from 'rxjs';
import { map, concatMap, delay } from 'rxjs/operators';
from([2,4,6,8]).pipe(
concatMap(item => of(item).pipe(delay(1000)))
).subscribe(console.log); Stackblitz (in console):
Примеры кода в модульных системах es, amd, cjs, iife, umd, system.js из rollupjs repl
Следует пройтись map'ом по массиву и если id совпадёт, то вернуть заменяемый объект.
Сравнение rxjs операторов для объединения потоков на примерах.
О том как не надо и как надо делать подписки в rxjs
Опыт создание мобильной версии Angular приложения, выбор нужной версии на основе по ширине окна браузера. Размещение обеих версий на одном домене.
Сравнение на примере пакетов для маршрутизации, вероятно оно более корректное