Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

112
Vistas
¿Cómo uso correctamente esperar dentro de la taquigrafía si no las declaraciones de Javascript?

No solo estoy haciendo una transición lejos de jQuery, sino que también estoy tratando de hacer que mi código sea mucho más ágil. Mientras trabajo en aplicaciones empresariales a gran escala, la cantidad de jQuery y JavaScript que se utiliza puede llegar a un punto crítico.

Quiero comenzar a trabajar de una mejor manera y usar JavaScript de vainilla nuevamente. Creo aplicaciones usando KendoUI y depende de jQuery para que funcione. Dicho esto, quiero mantener el resto de mi código como JavaScript básico, abreviado y eficiente (asincrónico cuando corresponda).

Estoy tratando de lograr los siguientes objetivos con una declaración de JavaScript mía

  • Encuentra el contenedor de pestañas
  • Vincule un detector de eventos para verificar la identificación de las pestañas cuando se shown su evento
  • Cargue una cuadrícula de KendoUI de forma asíncrona esperándola

Entonces, para lograr esto en JavaScript de vainilla abreviado, hice lo siguiente.

 //Find the tabs using the query selector document.querySelector('#main-tabs') //Add an event listener that listens for the `shown` bootstrap tab event .addEventListener('shown.bs.tab', (e) => { //Take the id of the tab and if the name equals "overview-tab" //then load the grid, if it doesn't then do nothing. (e.target.id == "overview-tab") ? load_grid_opportunities() : null; });

Ok, desde aquí fui y creé mi función asíncrona que carga mi cuadrícula. Creé una función asíncrona llamada load_grid_opportunities y luego encontramos un enlace de widget genérico basado en KendoUI jQuery.

 const load_grid_opportunities = async () => { $('#grid_opportunities').kendoGrid({ //shortened for brevity }); }

Aquí es donde llegué porque ahora me pregunto, ¿cómo espero esta función asíncrona en mi declaración if/else? Mi primer instinto fue simplemente llamar await en línea de esta manera:

 (e.target.id == "overview-tab") ? await load_grid_opportunities() : null;

Sin embargo, esto no funcionó ya que es un argumento inesperado. Luego traté de usar paréntesis para encapsular la solicitud, pero tampoco funcionó.

 (e.target.id == "overview-tab") ? (await load_grid_opportunities()) : null;

Entonces, ¿cómo diablos puedo esperar mi función?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Para esperar su función, su función debe devolver la promesa, consulte el código a continuación.

 function load_grid_opportunities() { return new Promise((resolve, reject) => { $('#grid_opportunities').kendoGrid({ //shortened for brevity }); resolve(); }); } // Now you can call your function async function doSomething() { if (e.target.id == "overview-tab") { await load_grid_opportunities(); } }

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda