Cria um objeto de promessa com o status inicial "pending" (pendente). Após aguardar algum processamento, esse status pode ser alterado para "resolve" (resolvido) quando o fluxo atender as expectativas ou "reject" (rejeitado) quando não atender. O status do objeto é alterado com o uso do bloco Atribuir valor para a promessa.


Figura 1 - Bloco Criar Promessa


Para obter o valor da promessa e realizar processamentos assíncronos, utilize também o bloco Monitorar uma promessa.


Compatibilidade

  • Bloco cliente: cronapi.util.createPromise()

Retorno

Objeto de promessa com o status "pending" (pendente).

Parâmetros

Bloco sem parâmetros.

Exemplo 

Na função de exemplo da figura 2, a variável "promessa" é inicializada com o objeto da promessa ainda com o status de "pending". Em seguida, o bloco Obter conteúdo da URL faz uma requisição REST e retorna algum valor. Se a requisição for bem-sucedida, a entrada de comando Sucesso é executada e o bloco Atribuir valor para a promessa altera o status da promessa para "resolve" e inclui o retorno da requisição como Valor dessa promessa. Caso ocorra algum erro durante a requisição, a entrada de comando Erro é executada e o bloco Atribuir valor para a promessa altera o status da promessa para "reject".


Figura 2 - Criação do objeto promessa 


Como estamos trabalhando com recursos assíncronos, o bloco Imprime com o texto "Fora da requisição." é executado antes da finalização do bloco Obter conteúdo da URL (figura 2.1).


Figura 2.1 - Impressões geradas pela função a Figura 2

Saiba mais

Veja detalhes sobre o conceito de Promessas no JavaScript em Promise.

Nesta página