You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用首次API调用返回的数据发起后续级联API请求

实现方案

你可以在getItems函数内拿到初始接口返回的数组后,通过Promise.all并行请求每个条目对应的extraApi接口,再将返回的额外数据合并到原有条目对象中即可,修改后的代码如下:

export default async function getItems() {
  const response = await fetch('/api/items.json');
  const items = await response.json();

  // 遍历每个item发起extraApi请求,合并数据
  const itemsWithExtra = await Promise.all(
    items.map(async (item) => {
      try {
        const extraRes = await fetch(item.extraApi);
        const extraData = await extraRes.json();
        // 合并原有字段和额外字段
        return { ...item, ...extraData };
      } catch (e) {
        // 单个额外接口请求失败时可自行设置兜底逻辑,这里保留原数据返回
        console.error(`请求${item.extraApi}失败`, e);
        return item;
      }
    })
  );

  return itemsWithExtra;
}

你原来的useData自定义Hook不需要做任何调整,获取到的items数组里已经自动包含了desc、price等额外接口返回的字段,可以直接读取使用。

内容的提问来源于stack exchange,提问作者mnine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:36:04