Todos los productos
Search
Centro de documentos

:Preguntas frecuentes sobre la operación waitUntil

Última actualización: Sep 19, 2026

Respuestas a las preguntas más comunes sobre el método waitUntil en EdgeRoutine (ER).

¿Por qué falla ocasionalmente una solicitud fetch?

Una solicitud fetch puede fallar por las siguientes razones:

  • Ciclo de vida del contexto

    Cuando se llama a addEventListener para registrar una función callback de evento, se crea automáticamente un contexto. Este contexto finaliza después de que se lee por completo el objeto Response devuelto por event.respondWith, lo cual incluye el encabezado y el cuerpo.

    Todas las funciones asíncronas comparten el ciclo de vida de su contexto. Una función asíncrona espera la ejecución del objeto Promise hasta que este se resuelve. Para evitar que las funciones asíncronas se bloqueen en un Promise, llame al método event.waitUntil. Este método extiende el ciclo de vida del contexto hasta que se ejecutan todos los objetos Promise pasados a waitUntil.

  • Estados compartidos entre contextos

    Los contextos están aislados y no pueden compartir estado. Las estructuras de datos de JavaScript no estándar, como los objetos de la API de Service Worker o los objetos Stream, no se pueden compartir entre contextos. Si un contexto intenta usar un objeto que pertenece a otro, EdgeRoutine lo detecta y lanza una excepción.

    Nota

    Para compartir estado entre contextos, utilice objetos nativos de JavaScript, como String, Array, Object y Number, o bien clases personalizadas.

  • Objetos Promise concurrentes

    Los objetos Promise que no se esperan son concurrentes. Para que ER responda de inmediato a los navegadores sin esperar las subsolicitudes, llame al método waitUntil y asegúrese de que su programa se ejecute correctamente.

  • Excepciones lanzadas por funciones asíncronas

    Si una subsolicitud dentro de una instrucción waitUntil lanza una excepción, el contexto finaliza.

¿Se puede llamar varias veces al método waitUntil?

Puede llamar a waitUntil varias veces e incluso anidar llamadas a waitUntil. Por ejemplo, cuando un Promise pasado a waitUntil se resuelve, puede volver a llamar a waitUntil dentro de la función callback de ese Promise.

Nota

Cada contexto tiene un límite de tiempo. Si un contexto supera este límite, se termina de forma forzosa.