2016-06-01 5 views
1

からの輸入は、コードだときの違いを取得し、コンソール出力はコメントであるRx.Observer:なぜ「rxjs」と「RX-liteの」ここ

import Rx from 'rxjs'; 
import { Observer } from 'rxjs/Observer'; 
import Rx2 from 'rx-lite'; 
// import Promise from 'bluebird'; 
import 'whatwg-fetch'; 

const componentsData = {}; 

const availableComponentsObservable = Rx.Observable.create(observer => { 
    console.log(Observer); // output: undefined 
    console.log(Rx.Observer); // output: undefined 
    console.log(Rx2.Observer); // output: function() {} 
    fetch('/static/component-list.json').then((res) => res.json()) 
     .then((components) => { observer.onNext(components); }) 
     .catch((err) => { observer.onError(err); }); 
});// .groupBy(component => component.group); 

availableComponentsObservable.subscribe((data) => { 
    componentsData.availableComponents = data; 
}); 

私はrxjsからの輸入が未定義得たときに、なぜ知りません

+0

rx.liteとrxjsを混在させないでください。使用するファイルに応じて、正しい.jsファイルを使用する必要があります。 – Nypan

+0

@ Nypanので、彼らは別のものですが、同じAPIの異なる動作を持つことができますか? ... – tjfdfs

+0

いいえ、彼らは言うごとに違いはありません。しかし、彼らはAPIのさまざまな部分を含む、ライト含まれています。彼らはお互いに干渉するでしょう。 https://github.com/Reactive-Extensions/RxJSを見てください。そこには、どのようなものがどのように含まれているかなどの例があります。 – Nypan

答えて

1

rxjsベン・レッシュは、それがリライトされ、APIの違いがいくつかあるhttps://github.com/tc39/proposal-observable

のリファレンス実装を持つように導くたことhttps://github.com/ReactiveX/RxJS RxJS 5実装です。ここで説明されている相違点は次のとおりです。https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md

rx-liteはRxJS 4実装のhttps://github.com/Reactive-Extensions/RxJSの一部です。

最近のビルドツールでは、RxJSを使用する各オペレータ/オブザーバブルをインポートする方法があるので、 "ライト"バージョンのRxJS 5は必要ありません。rx.allを使用しないでください.jsを使用して、最終的な成果物で使用するファイルのみを含むビルドツールで文書化して使用してください。