Weboldal keresés

angular - Hogyan lehet hozzáférni az Rx.Scheduler.immediate-hoz az rxjs-en keresztül SystemJS/Angular2 használatával?


Szeretném használni az RxJS ImmediateScheduler-jét az Angular2 projektemben.

Azonban az én RxJS telepítésemben ez nem létezik. A package.json fájlomban a "rxjs": "5.0.0-beta.12" verziót használom, amelyre az Angular 2.1.2-nek van szüksége.
Amikor a node_modules/ mappában nézelődöm, találok egy 'rxjs' mappát és egy 'rx' mappát. Az ImmediateScheduler nem az 'rxjs'-hez tartozik, hanem az 'rx'-hez. Ott megtalálom a 'rx/dist/rx.lite.js' fájlban, vagy akár a 'rx/ts/rx/rx-lite.ts' fájlban TypeScriptként, amit használok.

Megpróbálom importálni a TypeScript fájlomba így

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

meghiúsul. Maga a fájl megtalálható, de a fordító arra panaszkodik, hogy „.../ts/rx-lite.d.ts nem egy modul”.

Hogyan tudom működésre bírni a dolgokat az 'rx'-ből? Vagy pontosabban hogyan férhetek hozzá a Rx.Scheduler.immediate-hoz (ami az ImmediateScheduler-re hivatkozik)?

Válasz #1

Az azonnali ütemező nem létezik az rxjs5-ben, lásd: https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#schedulers-renamed

ha nem adunk át ütemezőt azoknak a műveleteknek, amelyek kérik, akkor alapértelmezettként rekurzív végrehajtásra kerül

Többször nem kell kifejezetten ütemezőt hozzáadni, és hagyni, hogy az Rx maga oldja meg.