Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

203
Vistas
nodejs wait error before return a function value

I want to wait an error before returning value in a function.
My code:

async function CheckIfManagerIsInServer(client, server_id, member) {
    let isIn = { isIn: true, isNotIn: [] };

    if (CheckIfIsInChain(server_id)) {
        database.chains.forEach(chain => {
            if(chain.membersID.includes(server_id)) {
                chain.membersID.forEach(async server => {

                    client.guilds.cache.get(server)?.members.fetch(member).catch((err) => {
                        console.log(err)
                        console.log("not exists")
                        isIn.isIn = false;
                        isIn.isNotIn.push(server)

                        console.log(isIn)
                        return;
                    })

                })
            }
        })

        console.log(isIn)
    }

    console.log(isIn)

    return await Promise.resolve(isIn);
}

As you can see, there is a catch. The catch gets triggered when function has already returned isIn. How I can wait?
Thanks in advance and sorry for bad english!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

use try catch , something like below

try {
await client.guilds.cache.get(server)?.members.fetch(member);
} catch(err) {
                        console.log(err)
                        console.log("not exists")
                        isIn.isIn = false;
                        isIn.isNotIn.push(server)

                        console.log(isIn)
                        return;
                    }

If you want to perform the operation in sequence, you cannot use forEach indeed. Just use a modern for … of loop instead, in which await will work as expected

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda