reactjs getServerSideProps API提取时间过长,使网站看起来没有响应-- Next.js

siv3szwd  于 2022-11-22  发布在  React
关注(0)|答案(1)|浏览(117)

我正在通过一个API在pageload上获取数据。这个API非常慢,我知道getServerSideProps对此无能为力。我的问题是,它直到数据被获取后才开始导航...这需要大约6-8秒。这让网站看起来像是没有响应。
我希望在等待提取数据时加载页面的框架。
这可能吗?
下面是我的代码(简化-我在gSSP中进行了两个API调用,这是它花费这么长时间的部分原因)

`export async function getServerSideProps () {
  const [data1Res, data2Res] = await Promise.all ([

    fetch ('url1'),
    fetch ('url2')

  ]);

  const [data1, data2] = await Promise.all([
    data1Res.json(), 
    data2Res.json()
  ]);
  
  return {
    props: { data1, data2 }, // will be passed to the page component as props
  }
}`

我尝试过使用getInitialProps或getStaticProps,但没有任何帮助。我也尝试过将页面加载添加到_app.jsx,但没有任何作用。
我想把我的提取放在一个API路径中,然后在客户端调用那个API路径...唯一的问题是,如果有两个API调用,可能会使API加载更慢。但是,这样至少会有即时导航和一个框架,这样用户就知道网站没有响应了。
这是Next.js特有的问题吗?看起来这是一个很常见的问题。希望我在这里遗漏了一些基本的东西。
基本上,我不在乎我的API调用需要这么长的时间,但我只是需要它不要感到如此严重的无响应。

wlsrxk51

wlsrxk511#

您需要修改链接来获取数据吗?如果需要,也许只有修复API才能有所帮助。否则,您可以在初始化时获取数据,然后按搜索查询进行过滤

相关问题