如何解决NextJS getServerSideProps() 具有多个获取请求
有没有办法在单个 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 } };
}
我可能正在尝试一些愚蠢的事情,因此非常感谢指向正确方向的指针!!
解决方法
您是否尝试过以下操作?
export async function getServerSideProps() {
const [operationsRes,incidentsRes] = await Promise.all([
fetch(`${process.env.APP_DOMAIN}/api/${apiRoute}`),fetch(`${process.env.APP_DOMAIN}/api/${apiRoute2}`)
]);
const [operations,incidents] = await Promise.all([
operationsRes.json(),incidentsRes.json()
]);
return { props: { operations,incidents } };
}
Promise.all
将触发两个请求,并在完成后返回两个 fetch 调用的解析值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。