我当前在网站的前端使用Angular,在我的后端使用Express。
用户可以在Angular上提交触发并向我的快速服务器发送http请求的调用,然后再将其提交到我们的数据库。
我们遇到的问题是,如果两个用户尝试同时发出一个http请求,它将取消第一个请求以运行第二个请求。
下面是一个来自我们index.js文件的工作帖子调用示例。
router.post('/bb_rr', function (req, res) {
var id = req.body.id;
var date = req.body.date;
var sql = "CALL DATABASENAME.PROCEDURE(" + id + ",DATE'" + date + "');";
return db.read(sql)
.then((x) => {
console.log(x)
res.send(x);
})
});
其中一些过程调用可能需要1-2分钟才能完成,因为它们有很多步骤。该网站有超过100个呼叫。
我看过Express的文档来将fork用于子进程,但是它涉及为每个长时间运行的调用创建一个新的.js文件。这是我唯一的选择吗?