this.activatedRoute.queryParamMap
.pipe(
map(params => {
return params.get('ID'))
}),
mergeMap(val => {
if(val)
return this.GetData(val)
.pipe(
map((res:any)=>{
return JSON.parse(res.data);
})
);
else
throwError(new Error('ID is missing'));
}),
).subscribe(x => {
console.log(x)
},
err => console.log(err)
);
我想做的是获取ID查询字符串,如果存在则触发获取请求,否则引发错误。我可以在subscribe()中执行此操作,但是那样做,我将不得不将其嵌套(在subscribe中订阅)。 但是,当我尝试引发错误时,出现以下错误: TypeError:“您在预期流的位置提供了'undefined'。您可以提供Observable,Promise,Array或Iterable。”