getInactiveTimerTabSynchronizer() {
return fromEvent(window, 'storage').pipe(
filter((x: StorageEvent) => {
return x.key === this.inactivityTabSynchronizerStorageKey;
}),
debounceTime(350));
}
В приведенном выше коде есть пример модульного теста, как показано ниже:
import { Observable, of as observableOf } from 'rxjs';
it(
'getInactiveTimerTabSynchronizer() function should return an observable that looks for storage events ' +
'and filters it to only "INACTIVE_TIMER_RESET" keyed events',
fakeAsync(
inject([AuthService], (service: AuthService) => {
spyOn(Observable, 'fromEvent').and.returnValue(
observableOf({ key: 'INACTIVE_TIMER_RESET' } as StorageEvent, { key: 'SOME_OTHER_KEY' } as StorageEvent)
);
let counter = 0;
service.getInactiveTimerTabSynchronizer().subscribe(x => {
counter++;
expect(counter).toBe(1);
});
tick(350);
tick(350);
})
)
);
Он работал нормально, когда у меня были angluar 6 и rx js 5.5, но после того, как я обновился до angular 7 и rx js 6.5 он выдает ошибку как:
Argument of type '"fromEvent"' is not assignable to parameter of type '"prototype" | "create" | "if" | "throw"'
Любая помощь для исправления или обходного пути?