Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 具有多个提取请求的NextJS getServerSideProps()_Reactjs_Next.js_Getserversideprops - Fatal编程技术网

Reactjs 具有多个提取请求的NextJS getServerSideProps()

Reactjs 具有多个提取请求的NextJS getServerSideProps(),reactjs,next.js,getserversideprops,Reactjs,Next.js,Getserversideprops,是否有一种方法可以在单个getServerSideProps()中从多个API路由获取数据 我有一个表,我需要显示来自多个MongoDB集合的数据,并试图找出如何将这些数据拉入 本质上,我需要将这两个功能结合起来,但似乎找不到最好的方法 export async function getServerSideProps() { const res = await fetch(`${process.env.APP_DOMAIN}/api/${apiRoute}`); const { data

是否有一种方法可以在单个
getServerSideProps()
中从多个API路由获取数据

我有一个表,我需要显示来自多个MongoDB集合的数据,并试图找出如何将这些数据拉入

本质上,我需要将这两个功能结合起来,但似乎找不到最好的方法

export async function getServerSideProps() {
  const res = await fetch(`${process.env.APP_DOMAIN}/api/${apiRoute}`);
  const { data } = await res.json();
  return { props: { operations: data } };
}

export async function getServerSideProps() {
  const res = await fetch(`${process.env.APP_DOMAIN}/api/${apiRoute2}`);
  const { data } = await res.json();
  return { props: { incidents: data } };
}


我可能在尝试一些愚蠢的事情,所以非常感谢指向正确方向的指针

您尝试过以下方法吗

导出异步函数getServerSideProps(){
const[operationsRes,incidentsRes]=等待承诺([
fetch(`process.env.APP_DOMAIN}/api/${apiRoute}`),
fetch(`${process.env.APP_DOMAIN}/api/${apiRoute2}`)
]);
const[操作、事件]=等待承诺([
operationsRes.json(),
incidentsRes.json()
]);
返回{props:{operations,events}};
}

Promise.all
将触发两个请求,并在完成时返回两个提取调用的解析值

您是否尝试了以下操作

导出异步函数getServerSideProps(){
const[operationsRes,incidentsRes]=等待承诺([
fetch(`process.env.APP_DOMAIN}/api/${apiRoute}`),
fetch(`${process.env.APP_DOMAIN}/api/${apiRoute2}`)
]);
const[操作、事件]=等待承诺([
operationsRes.json(),
incidentsRes.json()
]);
返回{props:{operations,events}};
}

承诺。所有
都将触发两个请求,完成后它们将返回两个提取调用的解析值

这样做了,谢谢您的快速回答!我对这一点还是相当陌生的,我知道我必须对承诺进行更多的研究。做到了,谢谢你的快速回答!我对这一点还是相当陌生的,我想我必须对承诺进行更多的研究。