Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

187
Visualizações
How to console only one time in terminal if a function is called from http.createServer

index.js file

import http from 'http';

function terminalConsole() {
  console.log(5);
}

const server = http.createServer((req, res) => {
  terminalConsole();
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello');
});

server.listen(5000, '127.0.0.1', () => {
  console.log(`server listening on localhost:5000`);
});

And when called from terminal, getting two 5 output instead of one. console Stackblitz link - https://stackblitz.com/edit/node-t5zngd?file=index.js

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You can use a function to log only once, based on the content of the log:

const logOnceClass = () => {
    const cache = new Map()
    return (string, logFunction = console.log) => {
        // if its already logged, return
        if (cache.has(string)) return 
        logFunction(string)
        cache.set(string, true)
    }

}

const logOnce = logOnceClass()

logOnce(1) // 1
logOnce(1) // (No log, "1" has been already logged)
logOnce(2) // 2

about 4 years ago · Juan Pablo Isaza Relatório

0

Use req.on node.js event in-order to log to console on a specific event. Here is the fixed version of your code.

const http = require("http");

function terminalConsole() {
  console.log(5);
}

const server = http.createServer((req, res) => {
  res.setHeader("Content-Type", "text/plain");
  res.statusCode = 200;

  req.on('end', () => {
    terminalConsole();
  });

  res.end("Hello");
});

server.listen(3001, () => {
  console.log(`server listening on localhost:3001`);
});

What happens here is that every time a request has been end, it would log the message to console.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda