【发布时间】:2018-09-25 15:37:00
【问题描述】:
我开始使用 Node Js 和 Express 创建一个 webapi。
然后出现以下问题:
如果我有一个可以处理/ 请求的函数,例如:
router.get('/', (req, res, next) => {
pool.query("select * from users").then((data) => {
setTimeout(() => {
res.json(data.rows);
}, 5000);
}).catch((err) => {
res.json({
error: err
});
});
});
考虑到数据库查询花费的时间比预期的要长,其他用户能否同时请求相同的路由?还是 express 阻止它,直到它对第一个请求有响应?
**then() 块内的超时函数只是为了说明我的意思。
【问题讨论】:
-
在What is non-blocking or asynchronous I/O in Node.js? 和Node.js - single thread, non-blocking? 之前被问过很多次,仅举几例。更广泛的互联网上有大量更详细的解释。
标签: javascript node.js rest api express