getComments
是异步功能。当它返回错误时,我想通过catchError
处理它。但是我总是执行map()
,而从不执行catchError
。
为什么以及如何解决此问题?
from(getComments(action.payload.url)).pipe(
map((comments: IComments[]) => commentsActions.fetch.done({ params: action.payload.url, result: { comments } })),
// TODO: 以下ではError handlingができない
catchError(error => of(commentsActions.fetch.failed({ params: action.payload.url, error: { hasError: true } }))),
),
和
export const getComments = async (url: string) => {
return await fetch(url)
.then(response => response.json())
.then(comments => comments)
.catch((e: string) => throwError(e));
}
谢谢。
答案 0 :(得分:0)