1
resposta

texto novo não salva localmente

estava fazendo a aula 3 do curso e quando fui implementar a função de salvar o novo texto digitado a aplicação não salva e no console o texto novo está como undefined

socket-back.js:

import io from './server.js';

const documentos = [
  {
    nome: "JavaScript",
    texto: "texto de javascript...",
  },
  {
    nome: "Node",
    texto:"texto de node...",
  },
  {
    nome: "Socket.io",
    texto: "texto de socket.io...",
  },
];

io.on("connection", (socket) => {
  console.log("um cliente se conectou id: ", socket.id);

  socket.on("selecionar_documento", (nomeDocumento, devolverTexto) => {
    socket.join(nomeDocumento);

    const documento = encontrarDocumento(nomeDocumento);

    if(documento){
      devolverTexto(documento.texto);
    }
  });

  socket.on("texto_editor", ({ texto, nomeDocumento }) => {
    const documento = encontrarDocumento(nomeDocumento);

    if(documento){
      documento.texto = texto;
      socket.to(nomeDocumento).emit("texto_editor_clientes", texto);
    }
  });
});

function encontrarDocumento(nome) {
  const documento = documentos.find((documento) => {
    return documento.nome === nome;
  });

  return documento;
}
1 resposta

Oi, Pedro, tudo bem?

O texto que está como undefined é o que está sendo recebido no ouvinte do evento "texto_editor"? Se sim, pode ser que os dados não estejam sendo trafegados corretamente do front-end para o back-end.

O código do arquivo que você mandou aparentemente está correto, você também pode mandar o código dos arquivos documento.js e socket-front-documento.js?