1

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

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

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

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

4

1 回答 1

1

使用 I/O 的 Node.js 库通常只是异步的。所有/大多数数据库驱动程序都是这种情况。

鉴于Node.js 事件循环的工作方式,同步执行通常不是您想要的。

如果您想要在 Node.js 中同步执行的语法,您应该使用异步函数

async function doSomething(client) {
  await client.execute(query1);
  // ...
  await client.execute(query2);
  await client.execute(query3);
}
于 2020-01-22T08:14:52.683 回答