BACK
ПрактикаReal-life: distinctUntilChanged() для статусов
ПРАКТИКА · 10 · 練

Real-life: distinctUntilChanged() для статусов

Уберите подряд идущие дубликаты статусов, но сохраните повтор idle после success.

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

const statuses = ['idle', 'idle', 'loading', 'loading', 'success', 'idle'];

const result$ = from(statuses).pipe(
  distinctUntilChanged()
);

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