Еще одна ошибка «слушатель должна быть функцией». Я дважды проверял все мои параметры, проверял правильность синтаксиса и т. Д., Но до сих пор не могу найти, где проблема:Javascript - TypeError: слушатель должен быть функцией
Вот мои фрагменты кода.
в login.js:
global.eventEmitter = require('./helpers/EventEmitter.js');
var packetSwitch = require('./handlers/PacketSwitch.js');
global.ackHandler = require('./handlers/ACKPacketHandler.js');
...
global.eventEmitter.createAndFireEvent('opCodeReceived',packetSwitch.switch(opcode, decrypted, sock));
в PacketSwitch.js:
var packetHandler = require('./PacketHandler.js');
exports.switch = function(opcode, data, sock) {
switch (opcode) {
case 1:
eventEmitter.createAndFireEvent('reqLoginReceived', packetHandler.handleLoginReq(data, sock));
break;
case 2:
eventEmitter.createAndFireEvent('reqDateReceived', packetHandler.handleDateReq(data, sock));
break;
default:
eventEmitter.createAndFireEvent('unknownReceived', packetHandler.handleUnknown(data, sock));
}
};
давайте предположим, что он входит случай 2: в PacketHandler.js:
exports.handleDateReq = function(data, sock) {
global.eventEmitter.createAndFireEvent('handleDateAck', global.ackHandler.handleDateAck(sock));
};
в ACKPacketHandler .js:
exports.handleDateAck = function(sock) {
sock.write("Test!");
};
в EventEmitter.js:
var eventEmitter = require('events');
const myEmitter = new eventEmitter.EventEmitter();
exports.createAndFireEvent = function(event, callback) {
myEmitter.on(event, callback);
myEmitter.emit(event);
};
А вот скриншот ошибки я получаю: https://gyazo.com/6047c5917f937aa33f29f9fc40cdf5f7
Что касается событий.js line 130? – Craicerjack
events.js line 130 не является частью моего кода, но это модуль по умолчанию Node.js. – ProTheJoker