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

标签 node.js cassandra synchronous cassandra-driver datastax-node-driver

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

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

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

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

最佳答案

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

鉴于如何Node.js event loop有效,同步执行通常不是您想要的。

如果您想要一种适合 Node.js 中同步执行的语法,您应该使用 async functions :

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

关于node.js - cassandra-driver (Node.js) 中同步查询执行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59795881/

相关文章:

node.js - Firebase 云函数提供本地文件以供下载

import - require.js 同步加载

ios - IOS/Objective-C:发送同步登录请求

jquery - 在 jQuery click() 期间处理程序是否总是同步调用?

mysql - Sails.js 查询在函数结束时运行

node.js - 在将响应返回给客户端后, Node/express 中回调完成的潜在陷阱?

node.js - 从外部模块加载文件而不导出

cassandra - 在 Cassandra 中更改集群名称

Cassandra 写道——有多少个节点?

java - @Select 在没有参数而不是选择所有实体时引发错误(Datastax Java 驱动程序映射器)