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

148
Visualizações
How do I handle res.status(<code>).send() in async functions?

I've seen many different ways of handling res.status(<code>).send(<whatever>) especially when it comes to async functions, and I'm not sure which one is right. Can someone provide an explanation for the appropriate way to do it?

export const randomFunction = functions.runWith(functionDefault).https.onRequest(async (req, res) => {
    functionSecurity.setHttpSecurityHeaders(res);

    if (req.body.automaticFail) {
        res.status(500).send(`This function automatically bombed out`);
        return Promise.reject();
    }
    
    res.status(200).send(`This function automatically succeeded`);
    return Promise.resolve(200);
}

export const randomFunction2 = functions.runWith(functionDefault).https.onRequest(async (req, res) => {
    functionSecurity.setHttpSecurityHeaders(res);

    if (req.body.automaticFail) {
        return res.status(500).send(`This function automatically bombed out`);
    }
    
    return res.status(200).send(`This function automatically succeeded`);
}

export const randomFunction3 = functions.runWith(functionDefault).https.onRequest(async (req, res) => {
    functionSecurity.setHttpSecurityHeaders(res);

    if (req.body.automaticFail) {
        res.status(500).send(`This function automatically bombed out`);
    }
    
    res.status(200).send(`This function automatically succeeded`);
}

Perhaps even none of these are correct? I'm just confused onw how asyncronous operations are supposed to work.

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

0

randomFunction2 will work perfectly, the reason is that Node.js will end the request-response cycle after calling the send() function so you don't have to worry whether it is async or not.

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