,map
などのrxjsオペレータが動作していないことに気づきました。 (私のIDEもそれについてのヒントを示しています。)確かに、私は次のコードを実行しました。 switchMap
をsubscribe
に置き換えると、コンソールに「値が返されました」と表示されます。rxjsオペレータがangular2で動作していない
なぜ演算子が動作していないのですか?
import { Component, OnInit } from '@angular/core';
import {Observable} from "rxjs/Observable";
import 'rxjs/add/operator/switchMap';
@Component({
selector: 'page-2',
template: `
<h2>{{title}}</h2>
`,
})
export class Page2Component implements OnInit{
title = 'Page2';
ngOnInit() {
let obs = new Observable(observable => {
observable.next('value returned');
});
obs.switchMap(console.log);
}
}
あなたは、必ずしもあなたがswitchMap' 'のような演算子のいずれかを呼び出すときに値を発するように' subscribe'を呼び出す必要はありません。 http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-switchMap – Naveed
@Naveedあなたが観測可能なものを購読していないと私の答えで言ったように、それは寒さに耐えられますが、それはその観察者とのつながりを持たないでしょう。したがって、あなたは何かを "観察"することはできません。あなたが与えたリンクの例をチェックしてください。私はemitを使用することが認められていますが、ドキュメントはちょっと混乱しますが、 'switchMap'はこれらの値をobservablesにマッピング/送信しますが、これらのobservablesにオブザーバがない場合は、 – echonax
わかった。 'switchMap'と' map'は私が購読する必要がある別の観測可能なものを返します。例えば、 – Naveed