我的节点代码开始在route.js文件中运行异步功能。
这是绝对关键的功能,但是当用户关闭我的应用程序的选项卡时会发生什么?当用户关闭会话时,我希望能够停止执行异步功能。
我在github论坛中搜索,但我发现这是不可能的。
我设法找到的最接近的帖子是: How can I abort an async-await function after a certain time?
但是该函数的中止发生在此后的某个时间,并且用户是否没有关闭我的页面都没有。因此,可以为我的编程需求做一些类似的事情吗?
编辑: 我的代码的结构是这样的:
//resource_file.js
module.exports = async function doStuff(arg) {
....
}
//--------------------------------------------------------------------
//routes.js
let funker = require('./resource_file.js');
module.exports = function(app) {
app.post('/pst', function(req, res) {
var arg = req.body.convo;
funker(arg).then(result => {
res.render('index.ejs');
}).catch(err => {
console.log(err);
res.render('index.ejs');
})
});
....
}