JavaScript Promise Error Errleling

JavaScript Promise Error Errleling
Código assíncrono pode usar promessas para aplicar o manuseio de erros estruturados. Ao usar as promessas, você pode especificar um manipulador de erros para o “então()”Método ou use um“pegar()" bloquear. Semelhante às exceções adicionadas no código regular, quando uma promessa é rejeitada, procura o manipulador de erros mais próximo, onde o erro arremessado é passado como um segundo parâmetro para o método então () ou o manipulador de erros passa para capturar ().

Esta redação discutirá o Javascript Promise Errlering Irleling com a ajuda de exemplos adequados. Então vamos começar!

JavaScript Promise Error Errleling

As promessas são usadas para gerenciar o fluxo de execução em um programa. O encadeamento de promessas também é útil ao executar uma série de funções assíncronas, onde cada uma depende da função anterior. Em uma promessa, você pode utilizar dois métodos para lidar com erros que são os “então()”Método e o“pegar()" bloquear.

JavaScript Promise Error Maniplel usando o método então ()

O "então()”O método é executado quando uma promessa é cumprida ou rejeitada. Se a promessa adicionada for cumprida com sucesso, sua função de manipulador relacionada será executada. No entanto, o manipulador de erros para o “então()”O método será executado em caso de rejeição de promessa.

Exemplo: JavaScript Promise Error Manipleamento Usando o método então ()
No exemplo abaixo, adicionamos “então()”Método, que compreende dois retornos de chamada, um é a função de manipulador de sucesso e o outro é para lidar com erros:

const prometeObj = nova promessa ((resolver, rejeitar) =>
setTimeout (() =>
rejeitar ("um erro é encontrado");
, 2000));
PromiseObj.então ((resposta) =>
console.log (resposta);, (erro) =>
console.log (erro); );

A execução do programa acima do rumo mostrará a seguinte saída:

Como você pode ver na saída, o manipulador especificado do “então()”O método está funcionando perfeitamente; No entanto, ele também tem algumas desvantagens. Por exemplo, podemos encontrar qualquer erro no manipulador de sucesso, mas o manipulador de sucesso adicional não pode lidar com isso. Além disso, no caso de usar o método então (), você deve escrever um manipulador de erros para cada bloco "então ()". Nessa situação, você pode utilizar “pegar()”Para superar as desvantagens mencionadas.

Exemplo 1: JavaScript Promise Errlering Erring Usando Bloco Catch ()
Agora, adicionaremos uma captura () para lidar com o erro ou o estado de rejeição da promessa:

const prometeObj = nova promessa ((resolver, rejeitar) =>
setTimeout (() =>
rejeitar ("um erro é encontrado");
, 2000));
PromiseObj.então ((resposta) =>
console.log (resposta);).Catch ((Erro) =>
console.log (erro); );

Quando uma das promessas adicionadas é rejeitada, a cadeia de promessa restante será encerrada. Essa é a razão pela qual apenas um log de console é executado:

Exemplo 2: JavaScript Promise Error Erring Useting () Bloco Catch ()
No exemplo seguinte, antes de tudo, o objeto de promessa de presença aceitará “Taylor”Como argumento do nome e depois exibi -o para o console. Depois disso, a função verificará se a função de promessa é cumprida ou rejeitada e executará o código adicionado de acordo:

const presença = função (nome)
retornar nova promessa ((resolver, rejeitar) =>
if (nome === "Louis")
rejeição de retorno ("Louis está presente");
outro
setTimeout (() =>
return resolve (nome);
, 2000);

);
participação ("Taylor")
.então ((dados) =>
console.log (dados);
Retornar presença ("Louis"); )
.então ((dados) =>
console.log (dados);
Retornar presença ("Stepheny"); )
.Catch ((Erro) =>
console.log (erro); )

Javascript Promise.método all ()

A promessa.All () Método JavaScript permite executar várias operações assíncronas simultaneamente. Nesse cenário, o retorno de chamada será executado quando a promessa.Todo o método completa as operações especificadas.

Exemplo: Usando a promessa de JavaScript.método all ()
O exemplo fornecido será executado simultaneamente as promessas “x","y", e "z”. Depois disso, todas as promessas retornarão “nome”:

const prometeObj = function (nome)
retornar nova promessa ((resolver, rejeitar) =>
setTimeout (() =>
return resolve (nome);
, 2000);
);
const X = PromiseObj ("Taylor");
const y = PromiseObj ("Stepheny");
const z = PromiseObj ("max");
Promessa.todos ([x, y, z])
.então ((dados) =>
console.log (dados); );

A execução levará apenas dois segundos para exibir três nomes, enquanto, em caso de prisão, o encadeamento exigirá seis segundos:

Javascript Promise.Método Race ()

Se você deseja executar o retorno de chamada assim que a primeira operação assíncrona estiver concluída, você pode utilizar o “Promessa.corrida()”Método.

Exemplo: Usando a promessa de JavaScript.Método Race ()
Nós criamos três objetos de promessa “x","y", e "z”Com o nome e os argumentos do tempo passados ​​para o“PromiseObj ()”Função:

const prometeObj = função (nome, tempo)
retornar nova promessa ((resolver, rejeitar) =>
setTimeout (() =>
return resolve (nome);
, tempo);
);

Aqui, "Marie”Tem o menor tempo de“1”Segundo, então ela vai ganhar a corrida e seu nome será mostrado como saída:

const X = PromiseObj ("Taylor", 3000);
const y = PromiseObj ("Stepheny", 2000);
const z = PromiseObj ("Marie", 1000);
Promessa.raça ([x, y, z])
.então ((dados) =>
console.log (dados); )
.Catch ((Erro) =>
console.log (erro);
)

A saída acima mencionada significa que implementamos com sucesso a promessa.Race () Método para executar várias operações simultaneamente.

Conclusão

Usando o pegar() e então() Métodos, você pode lidar com o erro arremessado ou rejeitar () Chamada em promete o encadeamento. Para lidar com erros, é preferível adicionar um método Catch () em seu código. O manipulador de erros examina o código e os lida de acordo. Esta redação explicou o tratamento de erros de promessa em JavaScript com a ajuda de exemplos adequados.