我的 Next.js 站点 ( /flats/[id].js
) 在pages
文件夹中有一个页面。
这是我的页面
import React, { useState, useEffect } from "react";
import styled from "styled-components";
export default function FlatPage() {
return (
<Wrapper>
<Meta title="FlatDetail" />
<>Hello</>
</Wrapper>
);
}
const Wrapper = styled.div`
padding: 20px;
`;
出于某种原因,我在导航到页面时收到此错误。
This Serverless Function has timed out.
Your connection is working correctly.
Vercel is working correctly.
504: GATEWAY_TIMEOUT
Code: FUNCTION_INVOCATION_TIMEOUT
ID: fra1::kzjbt-1639939593230-a5edd370b414
控制台日志:
[GET] /flats/16
15:35:23:41
Function Status: None
Edge Status: 504
Duration: 10009.74 ms
Init Duration: N/A
Memory Used: 243 MB
ID: ht6mw-1640010923026-45feee3fd9fb
User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Mobile/15E148 Safari/604.1
2021-12-20T14:35:33.481Z 604f5a2d-3856-42c8-8a7c-72f1cc7d2b64 Task timed out after 10.01 seconds
[GET] /_next/data/qRevoA7v7ps_tbqeAEfjl/en/flats/16.json?id=16
15:35:11:99
Function Status: None
Edge Status: 504
Duration: 10007.67 ms
Init Duration: 397.63 ms
Memory Used: 284 MB
ID: ht6mw-1640010911602-b24295905176
User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Mobile/15E148 Safari/604.1
2021-12-20T14:35:22.853Z 9bdd796b-22a9-4159-b97a-6c9392189986 Task timed out after 10.01 seconds
我不知道为什么该功能超时(页面上没有太多内容),而且它在本地也可以正常工作。
无服务器函数超时的条件来自 Next.js 文档
超时条件清单 如果您看到执行超时错误,请检查以下可能的原因:
该函数没有返回响应:
- 该函数必须返回一个 HTTP 响应,即使该响应是错误的。如果没有返回响应,该函数将超时。
- 函数处理请求的时间过长:检查您在函数中发出的任何 API 或数据库请求是否在适用于您的计划的“无服务器函数执行超时(秒)”限制内响应。
- 您的函数中有一个无限循环:检查您的函数在执行的任何阶段是否都没有无限循环。
- 存在上游错误:检查您尝试调用的任何外部 API 或数据库是否没有任何错误。
- 我什至没有使用任何无服务器功能
- 没有数据库或 api 调用
- 没有
- 只是打印你好!
更新:我发现这只发生在 getServerSideProps 上,即使返回的道具是“Hello World”
export const getServerSideProps = async (context) => {
const h = "Hello World"
return {
props:{h}
}
}