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
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.