BACK
ПрактикаReal-life: exhaustMap() login double click
ПРАКТИКА · 72 · 練

Real-life: exhaustMap() login double click

Два login click приходят сразу. Пока первый request активен, второй нужно игнорировать.

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

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

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

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