Todos os produtos
Search
Central de documentação

:Perguntas frequentes sobre a operação waitUntil

Última atualização: Jul 05, 2026

Este tópico apresenta respostas para perguntas frequentes sobre o método waitUntil do EdgeRoutine (ER).

Por que uma solicitação fetch falha ocasionalmente?

Uma solicitação fetch pode falhar devido às seguintes causas:

  • Ciclo de vida do contexto

    Quando você chama o método addEventListener para registrar uma função de callback, o contexto é criado automaticamente. Após a leitura do objeto Response, incluindo o cabeçalho e o corpo da resposta retornados pelo método event.respondWith, o contexto é encerrado.

    O ciclo de vida de todas as funções assíncronas está incluído no ciclo de vida dos contextos. Uma função assíncrona aguarda a execução do objeto Promise até que ele seja resolvido. Se você não quiser que as funções assíncronas aguardem a execução do objeto Promise, chame o método event.waitUntil. Esse método estende o ciclo de vida de um contexto até que todos os objetos Promise passados para o método waitUntil sejam executados.

  • Compartilhamento de estados entre contextos

    Não é possível compartilhar estados entre contextos. Dados que não estejam em estruturas padrão do JavaScript não podem ser compartilhados entre contextos. Por exemplo, não é possível compartilhar dados na estrutura da Service Worker API ou objetos Stream entre contextos. Se o Contexto A utilizar um objeto que não pertence ao Contexto A, o ER detecta o objeto e lança uma exceção.

    Nota

    É possível utilizar objetos nativos do JavaScript, como String, Array, Object e Number, ou classes personalizadas, para compartilhar estados.

  • Objetos Promise concorrentes

    Objetos Promise que não são aguardados pelas funções são concorrentes. Para que o ER responda aos navegadores imediatamente após receber as solicitações, sem aguardar sub-solicitações, chame o método waitUntil para garantir que os programas sejam executados conforme esperado.

  • Exceções lançadas por funções assíncronas

    Se uma sub-solicitação em uma instrução waitUntil lançar uma exceção, o contexto é encerrado.

É possível chamar o método waitUntil várias vezes?

É possível chamar o método waitUntil várias vezes ou aninhar um método waitUntil dentro de outro. Dessa forma, quando o objeto Promise retornado por um dos métodos waitUntil é resolvido, você pode continuar chamando o método waitUntil na função de callback.

Nota

Os contextos têm um tempo de resposta específico. Se o tempo de resposta expirar, o contexto é encerrado.