如何解决到 Kafka 的聊天消息和 io.connect 引用错误
我有点困惑。
我有一个输入用户名和消息的聊天窗口。
我添加了一个 btn.addEventListener
并且我希望将用户输入的消息发送到 Kafka。
我想我应该使用 EventEmmiter 将消息发送给生产者,然后从那里到 Kafka 我在 chat.js 上的代码是
var socket = io.connect('http://localhost:8000');
const EventEmitter = require ("events");
class MyEmitter extends EventEmitter{}
var emitter = new MyEmitter();
// linking Variables to indexhtml
var message = document.getElementById('message');
var username = document.getElementById('username');
var btn = document.getElementById('send');
var output = document.getElementById('output');
var feedback = document.getElementById('feedback');
btn.addEventListener('click',function(){
socket.emit('chat',{
message: message.value,username: username.value
});
emitter.emit("chat",function(){
message: message.value;
});
message.value = "";
});
我的制作人有
const { Kafka } = require('kafkajs')
const emitterr = require("../public/chat.js")
const kafka = new Kafka({
clientId: 'my-producer',brokers: ['localhost:9092','localhost:9093']
})
const producer = kafka.producer()
const topic = 'animal'
const produceMessage = async () => {
const value = emitterr.on('chat');
console.log(value);
try {
await producer.send({
topic,messages: [
{ value },],})
} catch (error) {
console.log(error);
}
}
我也无法测试这个,因为出于某种原因,当我向 chat.js 添加任何内容时,我得到了
var socket = io.connect('http://localhost:8000');
^
ReferenceError: io is not defined
在 index.html 上我有
<html>
<head>
<meta charset="utf-8">
<title>WebScocket Chatroom</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.1.1/socket.io.js"></script>
<link href="/styles.css" rel="stylesheet" />
</head>
<body>
<div id="socket-chatroom">
<h2>Chat</h2>
<div id="chat-window">
<div id="output"></div>
<div id="feedback"></div>
</div>
<input id="username" type="text" placeholder="Username" />
<input id="message" type="text" placeholder="Message" />
<button id="send">Send</button>
</div>
</body>
<script src="./chat.js"></script>
<script src="pushnotification/client.js"></script>
</html>
我对此很陌生,我不知道为什么会发生这种情况,我无法理解我真的很感激有人能解释一下,如果思维方式是正确的。 编辑:如果我添加事件发射器,我会收到参考错误(它之前有效)但即使我删除了更改它也不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。