如何将Observable.forkJoin()响应映射到相应的请求



我有一个管道,它利用httpClient来提供可观察的响应。我有请求URL的列表。所以,代码看起来是这样的:

let observables = urls.map(url=>myPipe.transform(url));
forkJoin(observables).subscribe(results=>console.log(results));

我想创建一个Map/Object,它将把请求url映射到它们各自的响应。类似:

{
url1 : response1,
url2 : response2
...
}

我希望它们立即可用,所以使用forkJoin。

我假设您的管道将url转换为http请求,因此

试试这个:

let observables = Object.fromEntries(urls.map(url=>[url, myPipe.transform(url)]));
forkJoin(observables).subscribe(results=>console.log(results));

首先我们创建一个对象{url: Observable},然后使用forkJoin,我们可以完全按照的要求执行

最新更新