我正在使用next.js API Route with axios,我的API在下面给出警告
API已解析,但未发送/api/authentication/login的响应,这可能导致请求停止。
我找不到我做错了什么
import axios from 'axios'
import type { NextApiRequest, NextApiResponse } from 'next'
const handler = (req: NextApiRequest, res: NextApiResponse): void => {
axios({
method: 'post',
headers : { 'Content-type': 'application/json' },
url: `${process.env.WEB_API_URL}/authentication/login`,
data: req.body,
})
.then((results) => {
res.status(results.status).json(results.data)
})
.catch((error) => {
res.status(error.status).json(error.response.data)
})
}
export default handler
2条答案
按热度按时间ryevplcw1#
你有一个承诺(您的
axios
请求),并且您应该返回它。(而不等待promise解析),并且api调用结束而没有响应。您可以通过以下两种方法之一解决此问题-返回promise,或者await
返回axios
调用的结果:第一个
注意,我在函数的返回签名中添加了
Promise
,但是Promise<void>
是不正确的。我对你的数据结构一无所知,所以你可能想把void
修改成实际上的样子。mqkwyuun2#
我把GitHub的答案加起来
这可能是因为cors中间件没有等待next()。