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

207
Vistas
Abrir ventana en una nueva pestaña después de una llamada api asíncrona

Tengo esta función a la que quiero llamar seguida de la apertura de una página en una nueva pestaña después de que un usuario haga clic en un elemento en mi aplicación VueJS similar a esto:

 const someFunction = async () => { const value = await api.someCallToApi(); window.open('https://example.com', '_blank').focus(); }

No tengo permitido hacer esto, probablemente debido a que la espera resultó en que window.open no sea un resultado directo de una acción del usuario (?). Debido a la forma en que mi aplicación está configurada, el orden de la llamada a la API y la apertura de la ventana en la nueva pestaña son relevantes.

¿Cuál sería una forma sólida y moderna de abordar tal problema?

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

0

En un mundo ideal, todas las funciones asíncronas ya devolverían promesas. Pero es posible que aún haya bibliotecas antiguas que usen await . Puede crear una Promesa que envuelva la función de await de la siguiente manera:

 const delay = (ms) => new Promise(resolve => setTimeout(resolve.bind(null, ms/1000), ms)); delay(3*1000).then((sec) => alert(sec + " seconds passed"));

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