【发布时间】:2022-01-13 10:44:11
【问题描述】:
我有两个返回不同响应的 api 调用。这些响应被强输入到 TestData1Res 和 TestData2Res。如何指定响应可以是其中之一,然后处理属性
`TestData1Res{ 测试数据:字符串 }
TestData2Res{ 数据:字符串 }
this.getData1().pipe(catchError(error => this.getData2()))
.subscribe(
(res: TestData1Res|TestData2Res) => {
if (res.testData) { //error 'Property 'testData' does not exist on type 'TestData1Res | TestData2Res'
}
if (res.data) { //error 'Property 'data' does not exist on type 'TestData1Res | TestData2Res'
}
}
);`
【问题讨论】:
-
只有在调用
getData1()出错后才想调用getData2()吗? -
您不应该以这种方式处理错误。如果出现错误,您应该返回一个空的 observable,然后使用 switchmap 调用您的服务 2。
标签: angular typescript observable