【发布时间】:2021-05-30 21:28:51
【问题描述】:
您好,我最近刚刚发现了 forkjoins 对 API 的强大功能,并尝试使用它来加快加载时间。正如标题所说,寻求关于在 forkjoin 之后运行 forkjoin 的最佳实践的帮助。
我有一个 forkjoin,它可以为 2 个 API 抓取一些数据。根据抓取的数据,我需要为额外的 2 个 API 运行第二次 forkjoin。
在给定 id 的第一个 forkjoin 中,我获取表单的数据和 UX 样式数据。
const form = this.apiService.getForm(id);
const style = this.apiService.getFormStructure(id);
在第二个 forkjoin 中,我想将在表单数据中找到的 photoIds 传递给 2 x APIS:
this.apiService.getPhotoUrls(photoIds)
this.apiService.getPhotoHistory(photoIds)
这是我目前所拥有的:
let formId: string = '1';
const form = this.apiService.getForm(id);
const style = this.apiService.getFormStructure(id);
forkJoin([form, style])
.subscribe(
(data:Object[]) => {
// handle result
let formData = data[1];
let formStyle = data[2];
let photoIds:number[] = formData.photoIds;
//***What is the best to pass the photo Ids to run the next 2 APIS??****//
}
);
非常感谢您提前提供的帮助!
【问题讨论】: