BACK
ПрактикаInterview: exhaustMap() защита от double submit
ПРАКТИКА · 30 · 練

Interview: exhaustMap() защита от double submit

Два клика приходят синхронно, а request асинхронный. Через exhaustMap должен пройти только первый.

  1. Решите задачу в редакторе без длинной теории.
  2. Запустите проверку и сравните вывод с ожидаемым.
  3. Если застряли, откройте решение и перенесите подход в свой код.
Решение spoiler · click to reveal
const { of, timer, exhaustMap, map } = Rx;

const request = id => timer(0).pipe(map(() => 'done-' + id));

const result$ = of(1, 2).pipe(
  exhaustMap(id => request(id))
);

result$.subscribe(value => console.log(value));
script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...