今天发现,不同用户之间或多个请求之间阻塞了,这样就不能并发了。如下面的代码,延迟5秒模拟数据库
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
return new Promise(resolve => {
setTimeout(() => {
ctx.body = 'Hello Koa';
resolve()
}, 5000)
})
});
app.listen(3002);
浏览器同时开启两个标签页,一个用时5.01秒,另一个9.72秒。很明显后面的被前面的阻塞了。所以我想问怎么写才能两个都5秒? 还有一点,为什么第二个不是大于10秒? 不是很清楚,希望大家解答