我不是很熟悉Node,敬请谅解。
我有一个Node.js服务器上的两个路由。 在典型的一天中,两个路由将同时接收请求。 路由1将顺利运行,但路由2是一个长时间运行的进程,返回多个承诺,因此路由1将占用资源,导致路由2暂停(通过数据日志已确定发生了这种情况)。
路由1如下:
app.post('/route1', function (req, res) {
doStuff().then(function(data){
res.end();
})
}
Route 2正在处理一个数组的数据,需要逐个解析数组中的1条记录
app.post('/route2', function (req, res){
async function processArray(array) {
for (const item of array) {
await file.test1()(item, res);
await file.test2()(item, res);
//await test3,test4,test5,test6
}
}
processArray(data).then(function() {
res.end();
}
}
我猜问题在于async/await正在等待资源变得可用后才会继续处理记录。
有没有办法让我编写的代码,使得route1不会干扰route2?