Por alguma razão a callback enviada pelo evento "get_documents" no socket.emit do meu arquivo index-socket.js não executa.
Depurei o código e até onde cheguei o evento está sendo disparado normalmente no servidor. Os documentos estão sendo retornados pelo BD. Porém não executa a callback recebida por parâmetro.
index-socket.js
const socket = io();
socket.emit('get_documents', (documents) => {
console.log('callback running...');
});
server-socket.js
import { io } from "./server.js";
import { getDocument, updateDocument, getDocuments } from "./documentsDB.js";
io.on('connection', (socket) => {
socket.on('get_documents', async (returnDocuments) => {
const documents = await getDocuments();
console.log(documents);
returnDocuments(documents);
});
socket.on('select_document', async (name, returnText) => {
const document = await getDocument(name);
if (document) {
socket.join(document.name);
returnText(document.text);
}
});
socket.on('text_editor', async ({ text, name }) => {
const updatedDocument = await updateDocument(name, text);
if (updatedDocument.modifiedCount) {
socket.to(name).emit('text_editor', text);
}
});
});