在node.js中存储请求ID和请求对象

时间:2017-11-14 13:49:01

标签: javascript node.js

我有一个查询数据库的应用程序。

我想在我的应用中提供一项功能,用户可以取消正在运行的查询。

我有一个requestId(uuid)调用,我将它映射到每个请求对象并将其存储在一些存储中。用户可以基于请求ID取消请求(使用请求ID命中终点)。每个请求都由回调处理。

在回调中,我有:

req.on("close", function() {});

正在关闭请求。

我正在使用snowflake-sdk在我的nowflake数据库中运行查询。

var statement = connection.execute({
    sqlText: sql,
    complete: function (err, stmt, rows) {}
});
req.on("close", function() {
    statement.cancel(function(err, stmt) {
        if (err) {
            console.error('Unable to abort statement due to the following error: ' + err.message);
        } else {
            console.log('Successfully aborted statement');
        }
    });
});

req对象正在传递给函数,req将是一个HTTP请求。

现在,问题是如何生成关闭事件以及如何将每个取消请求映射到原始关闭请求。

我也想知道,有什么建议吗?这是在NodeJS中执行此操作的正确方法吗?什么是正确的方式来存储请求ID和请求对象,如reddish或缓存或会话?

0 个答案:

没有答案