gpt4 book ai didi

javascript - 包装 getServerSideProps 抛出异常

转载 作者:行者123 更新时间:2023-12-04 08:21:27 26 4
gpt4 key购买 nike

我正在尝试包装 getServersideProps使用身份验证处理程序函数,但不断收到此错误:TypeError: getServerSideProps is not a function我的包装看起来像这样:

export async function protect(gssp) {
return async (context) => {
const {req, res} = context;
const auth = await authHandler(req);
if (!auth.authenticated) {
res.statusCode = 302;
res.setHeader('Location', '/');
return;
}
context.auth = auth;
return await gssp(context);
}
}
在页面上,getServerSideProps 如下所示:
export const getServerSideProps = protect(async function(context) {
return {
props: {
auth: context.auth
}
}
})

最佳答案

来电protect(...)实际上返回一个 promise ,而不是一个函数,因为你明确地将它声明为 async .要解决此问题,您只需从该函数中删除异步即可。

export function protect(gssp) {
// Remaining code untouched
}

关于javascript - 包装 getServerSideProps 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65476998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com