Remix项目中action函数抛出错误时因未返回值报错的问题求助
Remix项目中action函数抛出错误时因未返回值报错的问题求助
大家好,我最近在做Remix项目的时候碰到了一个有点困惑的问题,想过来请教下各位。
我现在收到这样一个错误提示:
Error: You defined an action for route "routes/demo" but didn't return anything from your action function. Please return a value or null.
按理说这个错误提示意思很明确,但我的情况是,我在action函数里已经抛出错误了,这时候根本没办法再写return语句啊。而且我发现这个问题只会在name等于John的时候出现。
下面是我action代码的简化版本:
export async function action({ request }) { const formData = await request.formData(); const name = formData.get("name"); if (name === "John") { throw new Error("Name is not allowed"); // 这里throw之后代码就不会往下走了,根本加不了return } return json({ message: "Success" }); }
有没有朋友遇到过类似的情况?麻烦帮我看看怎么解决这个问题,谢谢啦!
备注:内容来源于stack exchange,提问作者user30312022
相关产品推荐
相关产品推荐

