• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

154
Views
nodejs espera el error antes de devolver un valor de función

Quiero esperar un error antes de devolver el valor en una función.
Mi código:

 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); }

Como puede ver, hay una trampa. La captura se activa cuando la función ya ha devuelto isIn . ¿Cómo puedo esperar?
¡Gracias de antemano y perdón por el mal inglés!

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

use try catch , algo como a continuación

 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; }

Si desea realizar la operación en secuencia, no puede usar forEach de hecho. Simplemente use un bucle for... of moderno en su lugar, en el que await funcionará como se esperaba

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error