Как перенести empy (планировщик) в RxJS? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть устаревший код, который мне нужно перенести на RxJS 6. Есть одна строка, в которой я понятия не имею, как ее перенести:

return empty(this.scheduler);

this.scheduler - это какой-то планировщик, переданный в конструктор класса.

Я нашел инструкции о том, как мигрировать empty(), просто используйте ссылку EMPTY, но как я могу создать пустую наблюдаемую с помощью планировщика?

1 Ответ

0 голосов
/ 10 февраля 2019

Обновление март 2019: есть открытый PR, который добавляет emptyScheduled() метод: https://github.com/ReactiveX/rxjs/pull/4595

empty() Наблюдаемый метод создания также устарел, и рекомендуемый способ использует EMPTY:

import { EMPTY } from 'rxjs';

EMPTY просто отправляет уведомление complete, поэтому не принимает планировщик.

РЕДАКТИРОВАТЬ:

import { asyncScheduler, Observable } from 'rxjs'; 

const asyncEmpty = scheduler => new Observable(observer => {
  scheduler.schedule(() => observer.complete());
});

asyncEmpty(asyncScheduler).subscribe({ complete: () => console.log('completed')});

https://stackblitz.com/edit/rxjs-bwn1y7

...