Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Criar Promessa

Cria uma promessa que futuramente irá receber um valor 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.

Retorna


Image Added

Figura 1 - Bloco Criar Promessa


Informações

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

Retorna a função de

uma promessa.


Compatibilidade

Image Removed Cliente

Exemplo

  • 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 exemplo da Figura 1 mostra o bloco Criar Promessa atribuindo a promessa à variável "promessa". No bloco Obter conteúdo da URL na parte de Sucesso, adicione o bloco Atribuir valor para a promessa coloque o Tipo como resolve, no campo Promessa, coloque a variável "promessa" que criamos anteriormente, e por último coloque no campo Valor a variável "item", que é a mesma do retorno do bloco. Na parte de Erro, adicione novamente o bloco Atribuir valor para a promessa, altere o campo Tipo para reject e repita as variáveis dos campos Promessa e Valor utilizadas em Sucesso. Por fim, adicione a variável "promessa" ao retorno da função. Foi utilizado o bloco Atribuir valor para a promessa dentro do bloco Obter Conteúdo de URL, pois ele funciona somente com blocos que possuem retorno de sucesso e erro, a utilização completa do exemplo você pode ver aqui.

Image RemovedFigura 1 - Como é utilizado o bloco Atribuir valor para a promessa

altera o status da promessa para "reject".


Image Added

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


Image Added

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

Índice