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):
Выдержки из доклада Андрея Алексеева (Tinkoff) про RxJs (Subject, Behaviour Subject, Replay Subject, Async Subject). Применение в Angular.
Следует пройтись map'ом по массиву и если id совпадёт, то вернуть заменяемый объект.
О том как не надо и как надо делать подписки в rxjs
Способ с использованием Map (ключи -параметры запроса) и rxjs операторов publishReplay(1), refCount()
Опыт создание мобильной версии Angular приложения, выбор нужной версии на основе по ширине окна браузера. Размещение обеих версий на одном домене.