我正在尝试使用cassandra-driver
datastax 维护的节点实现在运行时在其中创建键空间和表。
在文档(此处)中指出,有一种同步方式来调用execute()
应该阻止执行的方法,直到返回查询的结果。
我认为在这个url链接的示例(Node.js 的同步和异步部分)仅用于异步执行,因为它们在返回结果之前不会阻塞。
我遗漏了什么或者无法使用 Node.js 驱动程序实现查询的同步执行?
使用 I/O 的 Node.js 库通常只是异步的。所有/大多数数据库驱动程序都是这种情况。
鉴于Node.js 事件循环的工作方式,同步执行通常不是您想要的。
如果您想要在 Node.js 中同步执行的语法,您应该使用异步函数:
async function doSomething(client) {
await client.execute(query1);
// ...
await client.execute(query2);
await client.execute(query3);
}