我已经开始学习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 = []
};
为什么消息数据未推送到数组?
答案 0 :(得分:0)
Datas.push(message);
发生在侦听器内部,该侦听器在immeditaley中执行控制台语句时是异步的。这就是为什么它是空数组。您可以注册end
侦听器(如果有的话)并在其中做控制台,也可以将控制台移到on消息侦听器中。