Я занимаюсь разработкой приложения angular 6, и в моем компоненте у меня есть этот код:
ngOnInit() {
this.$subscription = this.route.params
.pipe(map(param => param['id']))
.pipe(switchMap(id => {
this.id = id;
console.log(this.id);
return zip(
this.remote1.getDetail(this.id),
this.remote2.getDetail(this.id),
this.remote3.getDetail(this.id)
)
})).subscribe(result => {
console.log(result);
}
Когда я запускаю этот код, я получаю эту ошибку на консоли:
ОШИБКА TypeError: Вы указали недопустимый объект, где ожидался поток. Вы можете предоставить Observable, Promise, Array или Iterable.
на подписку (vendor.js: 181613)
at subscribeToResult (vendor.js: 181765)
в SwitchMap .....
Я правильно получил console.log(this.id)
, но не console.log(result)
.
Все методы внутри оператора zip
возвращают Observable
. Что мне здесь не хватает?