getHeroes(): Promise<Hero[]> {
return Promise.resolve(HEROES);
}
ngOnInit(): void {
this.route.params
.switchMap((params: Params) => this.heroService.getHero(+params['id']))
.subscribe(hero => this.hero = hero);
console.log(this.route.params);
console.log(this.route.params
.switchMap((params: Params) => this.heroService.getHero(+params['id'])));
}
が含まれている今、私たちは this.heroService.getHero(+params['id'])
はここで約束
を返しながらthis.route.params
は、観測可能に返すことrxjs
switchmap
switchMap(project: function: Observable, resultSelector: function(outerValue, innerValue, outerIndex, innerIndex): any): Observable
ための署名であることを知っています
最初のパラメータは観測値を出力する関数を取ります。
しかし、上記の例では、実際に約束を出している関数を渡しました。
これらはお互いに互換性がありますか?関数が約束を出力するため
さらにコンソール
console.log(this.route.params
.switchMap((params: Params) => this.heroService.getHero(+params['id'])));
出力
AnonymousSubject {_isScalar: false, observers: Array[0], closed: false, isStopped: false, hasError: false…}
は_isScalar
は、trueに設定するはずの?多くの場所で
「Observable#fromPromise」([v4 docs](https://github.com/Reactive-Extensions/RxJS/blob/v4.1.0/doc/api/core/operators/frompromise.md)を探している可能性があります。 )、[v5 docs](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#static-method-fromPromise)) – Whymarrh
@Whymarrこのように、例Iでは 'fromPromise'が暗黙的に呼び出されています上記の? – Kevin