我在服务中有一个返回Observable的方法。当我在组件中调用方法时订阅可观察对象时,一切正常,我可以正常获得我的帐户:
this.service.getAccountDetails(username)
.subscribe(account =>{
this.podcasts.push(account);
});
但是,当我尝试使用带有map和catchError的管道来实现此功能时,它什么也不会返回。
this.service.getAccountDetails(username)
.pipe(
map(account => {
this.podcasts.push(account);
}),
catchError((error: Error) => {
//Do some error stuff
return of(null);
})
);
我调用的服务中的方法如下:
getAccountDetails(u:String): Observable<Object> { }
很明显,我必须遇到一些令人讨厌的语法错误,但是出于对上帝的爱,我找不到它。请帮忙!
答案 0 :(得分:1)
将其更改为这样,就像评论中提到的JB Nizet一样,您必须订阅
this.service.getAccountDetails(username)
.pipe(
catchError(this.errorHandler)
)
.subscribe((username) => this.podcasts.push(username););
和
errorHandler(error: Error): Observable<any> {
console.error('ERROR HANDLER', error);
return new EmptyObservable();
}
答案 1 :(得分:1)
除非您不转换结果,否则您无需在此处绘制地图
await page.EvaluateFunctionAsync(@"() => {
Array.from(document.querySelectorAll('li'))
.find(l => l.querySelector('span').innerText === 'fire').querySelector('INPUT').click();
}");