Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

262
Views
Quiero ejecutar 4 api en paralelo desde mi javascript para mostrar datos en cada pestaña, pero especificar asíncrono: verdadero en ajax da un resultado entero incorrecto

Tengo 4 pestañas en html y tengo que llamar a 4 api diff que devuelven json y muestran esa salida en cada pestaña.

ingrese la descripción de la imagen aquí

Ahora el problema es que, cuando escribo ajax staments uno tras otro con async: false, la página se carga y lleva tiempo, ya que llama a las 4 api una tras otra.

Quiero que los datos en la primera pestaña "panel" se carguen primero, ya que aparecen rápidamente. Mientras tanto, las otras pestañas se están cargando.

 $.ajax({ url : base_url+"es/kernelStats", type : "get", async : false, dataType: 'json', success : function(data) { console.log("ES Data ",Object.values(data)); drawDataTable(data,"es"); } }); $.ajax({ url : base_url+"tab1/stats", type : "get", async : false, dataType: 'json', success : function(data) { console.log(" Data ",data); drawDataTable(data,"tab1"); } }); $.ajax({ url : base_url+"tab2/Stats", type : "get", async : false, success : function(data) { console.log("Data ",data); drawDataTable(data,"tab2"); } }); $.ajax({ url : base_url+"tab3/Stats", type : "get", async : false, success : function(data) { console.log("Data ",data); drawDataTable(data,"tab3"); } }); $.ajax({ url : base_url+"tab4/Stats", type : "get", async : false, success : function(data) { console.log("Data ",data); drawPatchingDataTable(data,"tab4"); }

El problema es que cada API tarda de 3 a 4 segundos en obtener datos y, cuando se ejecuta secuencialmente, tarda de 12 a 15 segundos, lo que no es deseable.

Cuando cambio async: true, en todo lo anterior, entonces las salidas json que dan algunos cambios de valores numéricos y los datos no son confiables.

También probé esto usando fetch api, (utilicé declaraciones de fetch/promise.all) pero todos estos dan una respuesta incorrecta.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Promise.all es el método a utilizar. Deberías darle otra oportunidad

about 4 years ago · Juan Pablo Isaza Report

0

Nota: ese tiempo solo tomará ese tiempo, pero puede probar este método puede ser este trabajo o puede hacer algunos cambios en eso,

 const fireApi = (url, param, afterSuccess) => { $.ajax({ url : base_url+url, type : "get", success : function(data) { console.log("Data ",data); afterSuccess(data, param) } }); } fireApi("tab1/stats", "tab1", drawDataTable) fireApi("tab2/stats", "tab2", drawDataTable) fireApi("tab3/stats", "tab3", drawDataTable) fireApi("tab4/stats", "tab4", drawPatchingDataTable)
about 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!