首页 > 解决方案 > Kafka 节点消费者消息推送到数组

问题描述

我已经开始学习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 = []
};

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

标签: javascriptarraysnode.jsapache-kafkaarray-push

解决方案


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


推荐阅读