我有一个进行两个http调用的函数,第二个http的输入取决于第一个http响应,并且我需要同时返回两个结果。我有下面的代码会引发错误
SomeMethod(): Observable<any> {
let firstResult;
let secondResult;
firstResult = http.get('////').map(data => {
console.log('first response')
secondResult = http.get('//// + {data.UserId}').map(response => {
console.log('second response')
})
})
return forkJoin([firstResult, secondResult]);
}
CallingMethod() {
this.SomeMethod.subscribe(([firstResult, secondResult]) =>{
/// Some logic
})}
Run Code Online (Sandbox Code Playgroud)
收到未定义错误。需要一个 observable、promise 或 array。调试后发现第一个控制台输出正在打印,第二个 http 调用从未进行,也从未看到响应。
如何使用 forkJoin 或任何其他机制一起返回两个嵌套调用响应?