Angular/Express API路由处理器调用十次后停止工作求助
问题分析与解决
Express和Angular HTTP客户端本身没有固有请求次数限制,你遇到的问题大概率是请求未被正确响应导致的连接池耗尽。
核心原因
你的Express路由处理器仅执行了console.log("REACHED ROUTE HANDLER"),但没有向客户端返回任何响应(比如res.send()、res.json())。浏览器对同一域名的并发HTTP连接数有默认限制(例如Chrome默认是6个),每次未完成的请求都会占用一个连接资源。当挂起的请求积累到一定数量时,浏览器会暂停发送新请求,直到旧连接超时或被释放,这就导致了你看到的“第十次点击后服务器收不到请求”的现象。
修复方法
修改Express的/submit路由处理器,添加响应语句,确保每个请求都能正常完成:
app.post('/submit', (req, res) => { console.log("REACHED ROUTE HANDLER"); // 添加响应以释放连接资源 res.status(200).json({ message: "Request processed successfully" }); });
验证方式
打开浏览器开发者工具的「Network」标签,查看每次请求的状态:
- 修复前:前几次请求会处于
pending状态,无法正常完成 - 修复后:所有请求都会显示
200 OK,连接会被正常释放,无论点击多少次都能触发路由处理器
内容的提问来源于stack exchange,提问作者newby73
相关产品推荐
相关产品推荐

