Como encadear promessas em JavaScript

Como encadear promessas em JavaScript
Javascript Promise Object é usado para lidar com funções assíncronas. Representa o estado e os dados retornados pela função especificada. O estado do objeto Promise pode ajudá -lo a determinar se a função assíncrona adicionada é concluída, rejeitada ou ainda está pendente.

Em JavaScript, as promessas são acorrentadas para gerenciar o fluxo de execução em um programa. O encadeamento de promessas também é útil quando você precisa executar uma série de funções assíncronas, onde cada uma depende da função anterior. Também inclui propagação de erro.

Este artigo discutirá o procedimento para Promessas de cadeia em JavaScript com a ajuda de exemplos adequados. Então vamos começar!

Como criar uma promessa em JavaScript

Você pode usar o “Promessa()”Construtor para criar um objeto de promessa em seu programa:

Let Promise = nova promessa (função (resolver, rejeitar)
// corpo da função
)

Em JavaScript, o “Promessa()”Construtor aceita um“função()“Como um argumento que tem ainda dois argumentos:“resolver()" e "rejeitar()““. A função resolve () será invocada se a promessa for devolvida com sucesso; Caso contrário, a função rejeit () será chamada.

Exemplo: como criar uma promessa em javascript
No programa abaixo, criamos um objeto de promessa chamado “NumberValue”Ao utilizar o construtor Promise (). De acordo com a sintaxe dada, adicionamos os parâmetros “resolver()" e "rejeitar()”Para o nosso objeto de promessa:

const number = true;
Deixe numerValue = nova promessa (função (resolver, rejeitar)
if (número)
resolver ("temos um número");
outro
rejeitar ("não temos nenhum número");

);

O valor do “número" está configurado para "verdadeiro”Portanto, neste caso, a promessa será resolvida:

console.log (numberValue);

A execução do programa fornecido retornará o objeto Promise com seu estado:

Como encadear promessas em JavaScript

Se você está preso em uma situação em que precisa executar várias tarefas assíncronas em uma sequência, prometa que o encadeamento pode ajudá -lo nesse sentido.

Com o encadeamento da promessa, você pode especificar as operações depois que a promessa específica é resolvida. Para esse fim, o JavaScript “então()","pegar()", e "finalmente()”Os métodos são usados.

Como encadear promessas em javascript usando o método então ()

O javascript “então()”O método é usado para anexar a função do manipulador ao objeto Promise criado. Este método compreende “Onfulfilled" e "on -rejetado”Parâmetros, permitindo lidar com os cenários em que as promessas são cumpridas ou falhadas.

Sintaxe do método JavaScript então ()

PromiseObject.então (onfulfilled, on -rejetado);

Aqui "Onfulfilled" e "on -rejetado"São o argumento do"então()”Método. Este método retornará um objeto de promessa com o resultado da função do manipulador.

Exemplo: como encadear promessas em javascript usando o método então ()
Primeiro de tudo, criaremos um objeto de promessa chamado “NumberValue”Com a ajuda do construtor Promise ():

Deixe numerValue = nova promessa (função (resolver, rejeitar)
Produto const = 2;
resolver (produto);
);

Depois disso, utilizaremos “então()”Método para encadear as funções“succcessValue ()" e "SuccessValue1 ()", e "SuccessValue2 ()" com o "produtos" como "Onfulfilled”Argumento para a promessa:

NumberValue
.então (função succcessValue (produto)
console.log (produto);
produto de retorno * 2;
)
.então (função successValue1 (produto)
console.log (produto);
produto de retorno * 4;
)
.então (função successValue2 (produto)
console.log (produto);
produto de retorno * 6;
);

A cadeia adicionada dos métodos então () será executada quando a promessa especificada for cumprida:

Como encadear promessas em javascript usando o método Catch ()

O javascript “pegar()”O método lida com as promessas rejeitadas ou o caso quando ocorre um erro. É considerado uma boa prática rejeitar uma promessa em vez de gerar um erro explicitamente.

Exemplo: como encadear promessas em javascript usando o método Catch ()
Agora, tentaremos adicionar um método Catch () no exemplo anterior:

Deixe numerValue = nova promessa (função (resolver, rejeitar)
rejeitar ('Infelizmente, a promessa é rejeitada');
);
NumberValue.então(
função successValue (resultado)
console.log (resultado);
,
)

O abaixo foi dado “pegar()”O método será executado se ocorrer algum erro:

.pegar(
função errorValue (resultado)
console.log (resultado);

);

Como você pode ver na saída que o “NumberValuePromise é rejeitada e “pegar()”O método é então utilizado para lidar com o erro:

Como usar finalmente () método com promessas

O "finalmente()”O método é usado em uma situação em que você precisa executar algum código, independentemente de a promessa adicionada ser cumprida ou não.

Exemplo: como usar o método finalmente () com promessas
Nós adicionamos o JavaScript “finalmente()”No exemplo a seguir, que será executado, a promessa será rejeitada ou cumprida:

Deixe numerValue = nova promessa (função (resolver, rejeitar)
Resolve ('Promise está resolvida');
);
NumberValue.finalmente(
função msg ()
console.log ('código é executado com sucesso');

);

A saída acima do rumo significa que o código adicionado no “finalmente()”O método é executado com sucesso e a promessa é resolvida.

Conclusão

Usando então() e pegar() Métodos, você pode encadear promessas em JavaScript. O método então () é utilizado para especificar a operação que precisa ser feita quando a promessa adicionada é cumprida, enquanto o método Catch () lida com o caso quando a promessa é rejeitada. Este artigo discutiu o procedimento para as promessas de cadeia em JavaScript usando os métodos então () e Catch ().