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

151
Visualizações
Cuerpo de nivel superior de error de sintaxis de módulos con async/await

Mi await de que asyncCall() termine en la función inputEntriesNotOnScreen no funciona a pesar de estar en una función asíncrona. me sale este error:

SyntaxError no capturado: await solo es válido en funciones asíncronas y los cuerpos de módulos de nivel superior

¿Qué significa la segunda parte del error?

 function resolve1MS() { return new Promise(resolve => { setTimeout(() => { resolve('resolved'); }, 1); }); } async function asyncCall() { let clicked = false; while( !clicked){ await resolve1MS(); if($('.ui-menu-item').length != 0){ $('.ui-menu-item')[0].click(); clicked = true; $matrix = $("table.timesheet tbody tr"); return { lastRow: $matrix.last() } } } } async function inputEntriesNotOnScreen($matrix, notFoundInInitialSearch){ let lastRow = undefined; notFoundInInitialSearch.forEach(function(item, index){ console.log(item, index); if( lastRow == undefined){ lastRow = $matrix.last(); } else{ lastRow = await asyncCall(); } lastRow.find('.search')[0].click(); let $searchBar = $('.ui-autocomplete-input');multiple times $($searchBar[index]).val(item[0][0]); $searchBar[index].dispatchEvent(new Event('input')); }); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Está creando una función para pasar a su forEach que no es async .

Reemplazar forEach con un bucle for estándar debería permitirle usar await según sea necesario.

Como aviso, si realiza la función en forEach asíncrono, como forEach(async function(item, index) , podrá usar await dentro de la función, pero todas las devoluciones de llamada se ejecutarán en paralelo (después de llegar al await), y no tendrás forma de esperarlos.

https://jsfiddle.net/8nwdus0h/

Para obtener más información, puede leer Uso de async/await con un bucle forEach

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