angular - Hvordan få tilgang til Rx.Scheduler.immediate gjennom rxjs ved bruk av SystemJS/Angular2?


Jeg vil gjerne bruke ImmediateScheduler fra RxJS i mitt Angular2-prosjekt.

Men i min RxJS-installasjon finnes dette ikke. Jeg bruker "rxjs": "5.0.0-beta.12" i min package.json som kreves av Angular 2.1.2.
Når jeg ser i node_modules/-mappen finner jeg en mappe 'rxjs' og en mappe 'rx'. ImmediateScheduler er ikke en del av 'rxjs' men av 'rx'. Jeg kan finne det der i 'rx/dist/rx.lite.js' eller til og med i 'rx/ts/rx/rx-lite.ts' som TypeScript som jeg bruker.

Prøver å importere det i TypeScript-filen min som

import {Scheduler} from "node_modules/rx/ts/rx-lite";

feiler. Selve filen finnes, men kompilatoren klager på at ".../ts/rx-lite.d.ts" ikke er et modul.

Hvordan kan jeg få ting fra 'rx' til å fungere? Eller mer spesifikt få tilgang til Rx.Scheduler.immediate (som er referansen til ImmediateScheduler)?

Svar #1

Den umiddelbare planleggeren finnes ikke i rxjs5, se https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#schedulers-renamed

ved å ikke sende en planlegger til operatører som ber om det, går det tilbake til rekursiv utførelse

De fleste ganger trenger du ikke å legge til en eksplisitt scheduler og kan la Rx finne det ut selv.