我按照 koa 文档里的步骤,写了几个接口,发现由于使用 await/async 请求不能被并发处理。必须一个请求处理完才能处理下一个请求,cpu 有很多空闲时间。 有没有办法解决这个问题?
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
console.log('收到请求');
ctx.body = await getResult();
console.log('已响应');
});
app.listen(3000);
async function getResult(){
return new Promise( resolve => {
setTimeout( resolve, 5000, {
data: 'hello, world'
});
})
}
以上代码,在浏览器里同时打开(快速打开两个 localhost:3000),可以看到本例问题所在。