Has*_*ghi 6 node.js next.js next.js13
我将Nextjs13v13.4.4 与Nodejsv18.16.0 一起使用,有时当我运行页面时,我收到此错误Error: fetch failed,当我记录错误时,会看到此错误
Sliders TypeError: fetch failed
at Object.fetch (node:internal/deps/undici/undici:11457:11)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
cause: Error: read ECONNRESET
at TLSWrap.onStreamRead (node:internal/stream_base_commons:217:20)
at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) {
errno: -4077,
code: 'ECONNRESET',
syscall: 'read'
}
}
- error TypeError: fetch failed
- error TypeError: fetch failed
digest: "2026204822"
Run Code Online (Sandbox Code Playgroud)
这是我调用端点的方法
import errorMessage from "../errorMessage.json";
import { MainSliderType } from "@/app/types/response/slider";
const serverUrl = process.env.SERVERURL;
export const mainSliderFetcher = async (): Promise<MainSliderType[]> => {
try {
const responses = await fetch(`${serverUrl}/sliders/`, {
method: "GET",
headers: {
"Content-Type": "application/json",
},
cache: "no-store",
});
if (!responses.ok) {
throw new Error(errorMessage.fetchError);
} else return responses.json();
} catch (err) {
console.log("sliders", err);
throw new Error(errorMessage.fetchError);
}
};
Run Code Online (Sandbox Code Playgroud)
这是我page.tsx调用这个方法时的。
export default async function Home() {
const getSliders = mainSliderFetcher();
const getBanners = mainBannersFetcher();
const [sliders, banners] = await Promise.all([getSliders, getBanners]);
return (
<main className="flex min-h-screen flex-col items-center">
<MainCarousel data={sliders} />
<div className="flex flex-col px-4 lg:px-16">
<TopBanners data={banners} />
<SmallAbout />
</div>
</main>
);
}
Run Code Online (Sandbox Code Playgroud)
在我使用Nodejsv16.08 之前,我遇到了同样的问题
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |