cassandra-driver 中的同步查询执行问题 (Node.js)

Problem with Synchronous query execution in cassandra-driver (Node.js)

我正在尝试使用由 datastax 维护的 cassandra-driver 节点实现在运行时创建键空间和其中的表。

在文档 (here) 中指出,有一种同步方式可以调用 execute() 方法,该方法应该阻止执行,直到返回查询结果。

我认为在此 url 链接的示例(Node.js 的同步和异步部分)仅用于异步执行,因为它们在返回结果之前不会阻塞。

我遗漏了什么或无法使用 Node.js 驱动程序同步执行查询?

Node.js 使用 I/O 的库通常只是异步的。 all/most 数据库驱动程序就是这种情况。

鉴于 Node.js event loop 的工作方式,同步执行通常不是您想要的。

如果你想要在 Node.js 中同步执行的语法,你应该使用 async functions:

async function doSomething(client) {
  await client.execute(query1);
  // ...
  await client.execute(query2);
  await client.execute(query3);
}