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

185
Visualizações
¿Cómo convertir código async/await en código de bloqueo en javascript?

Sé que bloquear el bucle de eventos es malo y las consecuencias de eso. Pero incluso el módulo fs nativo proporciona algunas funciones de sincronización para algunos fines, por ejemplo, las CLI que usan fs.readFileSync .

Me gustaría convertir el siguiente código de espera asincrónica en código de bloqueo.

 let value = undefined; function setup() { return new Promise((resolve) => { setTimeout(() => { value = "**value**"; resolve(); }); }); } // need to convert below function to blocking async function getValue() { await setup(); return value; } console.log(await getValue()); // top level await OK

Asumiendo que está bloqueando, entonces podemos llamarlo como

 getValue(); // without await or .then

Lo probé así. Pero no está funcionando.

 function getValue() { setup(); while (!value) { // wait until we get value } return value; } console.log(getValue())

¿Cómo puedo conseguir esto?

(El fs.readFileSync está bloqueando. ¿Hay alguna manera de que podamos usar la técnica utilizada por readFileSync)

Editar

Hilo relacionado: Convertir el método asincrónico/de devolución de llamada en método de bloqueo/sincrónico

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

0

¿Cómo puedo conseguir esto?

Cambias de idioma.

En serio: JavaScript es (más o menos, hay muchas advertencias allí) de un solo subproceso. Su código de devolución de llamada debe ser procesado por el mismo hilo que pretende bloquear.

NO hay manera de que puedas lograr esto: es imposible.

Entonces, o cambia su idioma (en C# o Java puede activar un hilo y bloquearlo como desee, mientras que otros hilos hacen algo de trabajo), o cambia los requisitos.

Sospecho que esta última opción es la solución real a su supuesto problema. Ahora, ¿qué es lo que realmente necesitas hacer?

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