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

155
Visualizações
Javascript, las funciones asíncronas se comportan de manera diferente entre Mac y Windows/Linux

await / async parece comportarse de manera diferente en Chrome y Safari en Mac, en comparación con Chrome en Windows y Linux.

 <select id="dbgselect"> <option>1</option> <option>2</option> <option>3</option> </select> <script> async function dbg(type) { console.log(`A [${type}]`); await dbg2(type); console.log(`B [${type}]`); } async function dbg2(type) { console.log(`C [${type}]`); } document.getElementById("dbgselect").oninput = () => { dbg("input"); }; document.getElementById("dbgselect").onchange = () => { dbg("change"); }; </script>

Al hacer una selección en el menú desplegable, la salida en Linux/Windows (en Chrome) es:

 A [input] C [input] A [change] C [change] B [input] B [change]

La salida en Mac (tanto en Chrome como en Safari):

 A [input] C [input] B [input] A [change] C [change] B [change]

SIN EMBARGO, si agrego esto en la parte inferior, para invocar dbg fuera del contexto de un evento:

 setTimeout(() => { dbg("input"); dbg("change"); }, 0);

Luego, el resultado en Mac cambia y se convierte en el mismo que en Linux y Windows (es decir A,C,A,C,B,B en lugar de A,C,B,A,C,B ).

Mis preguntas:

  1. ¿Alguna de estas implementaciones es un error? (es decir, una violación de algún estándar).

  2. ¿Esta diferencia en el comportamiento está documentada o discutida en alguna parte? no pude encontrar

about 4 years ago · Juan Pablo Isaza
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