我有一个应用程序,当100多个项目被发送到我的nodejs后端进行处理时,它会遇到问题。由于每分钟外部api调用的限制,整个请求可能需要长达3分钟的时间。
我尝试过axios和superagent,但都在1-2分钟时超时,前端会错误地说net::ERR_EMPTY_RESPONSE
与axios和来自superagent的Error: Timeout exceeded at Request.push.RequestBase
,但我的后端会继续处理作业并成功。
在express后端,我按照Nodejs的建议将超时时间设置为10分钟,express服务器在2分钟后关闭连接。
我正在寻求建议,因为我接下来唯一的想法就是在我的前端分解结果,并发送许多较小的请求,以完成工作。
提前感谢您的帮助或建议。
在axios
上,您可以设置自己的timeout
计时器。Jus初始化进入点:
const api = axios.create({
baseURL: apiURL,
timeout: 10 * 60 * 1000, // whatever time you want
});
并像一样使用它
api.get()
api.post()
...