在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。有什么建议吗?
答案 0 :(得分:1)
问题在当前的oriento主版本中得到解决。 https://github.com/codemix/oriento/issues/170
答案 1 :(得分:0)
您可以使用process._getActiveRequests()
和process._getActiveHandles()
来查看应用程序打开的内容。它们没有记录,但在这种情况下常用。