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

145
Visualizações
Cómo llamar a la función asíncrona que hace una llamada ajax

He visto muchos consejos sobre cómo usar las devoluciones de llamada y esperar con respecto a hacer que mi llamada ajax asíncrona sea síncrona, pero no tengo éxito. tengo un giro. La función que hace la llamada ajax es en sí misma asíncrona. A continuación se muestra mi intento de usar una devolución de llamada. No hay errores, pero no se escribe nada en la consola en el bucle for/. El propósito de esta funcionalidad es solicitar al usuario que seleccione uno o más archivos, importarlos a SSRS y actualizar un control de árbol con nuevos nodos que representen los nuevos archivos. La importación funciona y los datos devueltos por la llamada ajax (la nueva identificación del nodo) son válidos, pero se pierden cuando intento usarlos. Cualquier ayuda será apreciada.

 async function readText(event, multiple, data) { var fileinfo = new Object(); fileinfo.Name = event.name; fileinfo.Path = '/' + fullpath; fileinfo.Replace = !multiple; fileinfo.Id = selectedId; array = new Uint8Array(await event.arrayBuffer()); fileinfo.Content = btoa( new Uint8Array(array) .reduce((data, byte) => data + String.fromCharCode(byte), '') ); $.ajax( { url: '/ABIReportsSSRS/ImportToSSRS', type: 'POST', data: fileinfo, success: function (data) { return data; }, error: function (request, status, error) { displayErrorMessage(request); } }); } function importData(multiple) { input = document.createElement('input'); input.type = 'file'; input.multiple = multiple; var treeviewObj = document.getElementById('tree').ej2_instances[0]; input.onchange = _ => { var newNode = []; for (var i = 0; i < event.target.files.length; i++) { readText(event.target.files.item(i), multiple, function (data) { console.log(data); newNode[i] = { Id: data, Name: event.target.files.item(i).name, Type: 'Resource', Image: '../../images/FA-file.png' } }); } if (multiple) { treeviewObj.addNodes(newNode, selectedId, null); } else { treeviewObj.updateNode(selectedId, event.target.files.item(i).name) } }; input.click(); }
about 4 years ago · Santiago Trujillo
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