express不能处理太多请求?



我目前正在做我的新MERN堆栈项目。我试图获取在每个地点花费的时间的信息,一切似乎都很好,直到我发现了一个错误。在更改位置并向服务器发送大约10次post请求后,整个localhost服务器冻结。对服务器的任何调用都停止工作。这是非常令人沮丧的,我想不出来。你们有什么想法吗?

UseEffect调用action:

useEffect(() => {
dispatch(savePageStats())
}, [location])

Redux动作调用:

export const savePageStats = () => async (dispatch) => {
try{
const arr = []
await api.savePageSession(arr)    
}catch(err){
console.log(err)
}

Axios api:

export const savePageSession = (arr) => API.post('/stats/savepagesession', arr)

表达路由器:

const app = express()
app.use(bodyParser.json({ limit: '30mb', extended: true}))
app.use(bodyParser.urlencoded({ limit: '30mb', extended: true}))
app.use(cors())
app.use('/users', usersRoutes)
app.use('/messages', messagesRoutes)
app.use('/stats', statsRouter)
dotenv.config()
mongoose.connect(process.env.CONNECTION_URL)
.then(() => app.listen(process.env.PORT, () => console.log(`server running on port ${process.env.PORT}`) ))
.catch((err) => console.log(err))

表达控制器

export const savePageSession = async (req, res) => {
try{

console.log('im here')

}catch(err){
res.status(500).json({message: 'something went wrong'})
}

}

savePageSession路由处理程序不向客户端发送任何响应。这意味着浏览器仍将等待响应,并最终停止向服务器发送请求,直到之前的请求完成或最终超时。

至少添加一些简单的东西,如res.send("ok");到路由。服务器上的所有http请求处理程序都必须向客户端发送某种响应,否则会使客户端混乱。

最新更新