Kafka节点消费者消息推送到数组

时间:2020-01-28 06:30:34

标签: javascript arrays node.js apache-kafka array-push

我已经开始学习JavaScript。

我有一个示例代码:

Consumer = kafka.Consumer,
client = new kafka.KafkaClient();

module.exports = topic => {
  consumer = new Consumer(client, [{ topic: topic, partition: 0 }], {
    autoCommit: false
  });
  var Datas = [];
  consumer.on("message", function(message) {
    Datas.push(message);
  });

  console.log(Datas); //return = []
};

为什么消息数据未推送到数组?

1 个答案:

答案 0 :(得分:0)

Datas.push(message);发生在侦听器内部,该侦听器在immeditaley中执行控制台语句时是异步的。这就是为什么它是空数组。您可以注册end侦听器(如果有的话)并在其中做控制台,也可以将控制台移到on消息侦听器中。