rxjs - NestJS 处理 HttpModule 错误
问题描述
NestJS 有以下使用它们的示例HttpModule
:
@Injectable()
export class CatsService {
constructor(private readonly httpService: HttpService) {}
findAll(): Observable<AxiosResponse<Cat[]>> {
return this.httpService.get('http://localhost:3000/cats');
}
}
我的问题是,客户端代码(很可能是 a Controller
)如何处理这个响应?它如何处理 Observables 以便Cat[]
可以访问。或者如果 Http 请求抛出 404 之类的错误怎么办。
在这种情况下,NestJS 客户端(控制器)如何与findAll()
服务提供的方法进行交互?
解决方案
我对 NestJs 不太熟悉,但是如果您想运行可观察的 http 请求,通常您可以执行以下操作来使用和 catchError
this.catService.findAll().pipe(
// axio wraps the result in data
map(res=>res.data),
catchError(e=>{
...handle error 404
return of(e)
})).subscribe()
推荐阅读
- c# - 在 Visual Studio 中处理多个项目
- xml - 如何创建通过读取 wpf 中的 xml 文件动态创建的按钮的单击事件?
- python - 更改线图中线段的颜色
- javascript - Ramda:记住并使用价值
- css - 响应式谷歌图表如何来自 iframe 标签?
- sql - 使用数据透视表将 SQL 查询转换为表
- c++ - 打印字符数组地址的正确方法
- azure-resource-manager - 一次使用 ARM 部署多个 Azure 虚拟网络和子网时的 AnotherOperationInProgress
- sql - Postgres NOW():可以是过去吗?
- python - 如何使用条件按列设置我的数据框的样式?