选择后,带有oriento的节点程序不会退出

时间:2014-12-18 19:00:15

标签: node.js promise orientdb bluebird oriento

在node.js中,我使用oriento模块访问OrientDB。原则上一切正常,唯一的事情是程序dos不能退出它应该。这是一个例子:

const oriento = require("oriento");
const server = oriento({});
const db = server.use(dbname);
db.select("@rid").from("codelists").limit(1).scalar().then(function (result) {
    console.dir(result);
}).finally(function () {
    db.close();
    server.close();
    console.info("finished");
});

程序执行select,然后"然后"最后"终于"条款。一切都很好。但它并没有退出。事件循环似乎挂起了一些东西。但是什么?我怎么能摆脱它呢?问题实际上更糟糕的是只需按下Ctrl-C"或者当一切都完成时有一个process.exit(),因为代码应该在单元测试中运行,我不能调用exit。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

问题在当前的oriento主版本中得到解决。 https://github.com/codemix/oriento/issues/170

答案 1 :(得分:0)

您可以使用process._getActiveRequests()process._getActiveHandles()来查看应用程序打开的内容。它们没有记录,但在这种情况下常用。