我想从一个observable中发出一个值并使用该值作为参数来进行两次http调用,然后订阅这两个调用的连接结果,尽管它没有拥有要连接。在这种情况下我尝试使用.zip运算符,但我似乎无法使其正常工作。只进行.getSymbolData调用。我应该使用另一个运营商吗?
this.symbolSearchService.getSymbolData('cmcsa')
.zip(stock => {
console.log('stock', stock); <-- looks good
this.symbolSearchService.getResearchReportData(stock);
this.symbolSearchService.getPGRDataAndContextSummary(stock);
})
.subscribe(
res => {
console.log('res', res); <-- undefined
},
err => this.sharedService.handleError
);
修改 我忘了提到我想保留最初可观察的值。所以我想这样做.stock =股票某处。
答案 0 :(得分:1)
您正在寻找的是switchMap和combineLatest运算符。它允许您返回一个新的observable。
Dim xDoc As MSXML2.DOMDocument
Set xDoc = New MSXML2.DOMDocument
Dim PI
Set PI = xDoc.createProcessingInstruction("xml", "version='1.0' encoding='windows-1250'")
xDoc.insertBefore PI, xDoc.childNodes.Item(0)
If xDoc.Load("C:\Test.xml") Then
Debug.Print "Success"
Else
Debug.Print xDoc.parseError.reason
End If
Set xDoc = Nothing