node-vertica为带有回调的多查询抛出异常

时间:2015-03-19 08:34:10

标签: node.js vertica

我为vertica创建了一个简单的Web界面。 我在vertica集群上面暴露了简单的操作。 我公开的功能之一是查询vertica。 当我的用户输入多个查询时,节点模块抛出异常,我的进程退出并退出1。 有没有办法抓住这个例外? 有没有办法以不同的方式克服这个问题?

1 个答案:

答案 0 :(得分:2)

现在,当使用回调查询结果时,无法克服这个问题。

防止这种情况发生将涉及确保用户的输入中只有一个查询。这很难,因为它涉及解析SQL。

回调API不是为了处理多个查询而构建的。我根本没有打算对这个案子进行妥善处理,因为这对我来说从来都不是问题。

您可以使用事件侦听器API代替回调,它会向您发送较低级别的消息,并自行处理。

q = conn.query("SELECT...; SELECT...");
q.on("fields", function(fields) { ... });  // 1 time per query
q.on("row",    function(row) { ... });     // 0...* time per query
q.on("end",    function(status) { ... });  // 1 time per query