Как воспроизвести задержку из RxJs 6.x?
Поведение
delay
изменилось в RxJs 7. Хотя я понимаю причину изменения, это было полезно для демонстрационного проекта, который я использую для моделирования задержек API-интерфейса по сети. В RxJs 6 приведенный ниже код будет регистрироваться в консоли только после 5-секундной задержки, но в 7 он сразу же записывается (7 больше не ожидает задержек на пустом наблюдаемом). Есть ли способ воспроизвести следующее в RxJs 7?
import { EMPTY } from 'rxjs';
import { delay } from 'rxjs/operators';
EMPTY.pipe(delay(5000)).subscribe({
complete: () => {
console.log('complete');
},
});
См. Примеры Stackblitz ниже.
RxJS 7 (без задержки): https://stackblitz.com/edit/rxjs-yx19nb?file=index.tsRxJS 6 (задержка 5 секунд): https://stackblitz.com/edit/rxjs-8rmhov?file=index.ts
1 ответ
Вместо этого используйте таймер.
timer(5000).pipe(
ignoreElements()
).subscribe(...);