Promises()

Promises()

Entender promises pode ser algo complicado no início, mas esse artigo vai te ajudar.

O que é uma Promise ?

De acordo com o MDN Web Docs "Uma promise é um proxy para um valor não necessariamente conhecido". Ou seja uma promise é um intermediário entre a aplicação web e o servidor.

Como funciona uma Promise ?

Para entendermos como uma promise funciona vamos analisar a função fetch. Fetch é uma função do JavaScript para realizar requisições HTTP. E quando fazemos uma requisição HTTP a primeira coisa que o fetch() nos retorna é um objeto promise com um status de pending, por que o fetch está nos fazendo uma "promessa" de que a requisição foi feita e que ele vai nos retornar com a resposta do servidor.

fetch('https://jsonplaceholder.typicode.com/todos/1')
      .then(response => console.log(response.json()))

Depois o segundo retorno é efetivamente a resposta do servidor

fetch('https://jsonplaceholder.typicode.com/todos/1')
      .then(response => console.log(response.json()))
      .then(json => console.log(json))

Por que usar ?

1- Gerenciamento simplificado de erros: as Promises permitem capturar erros de forma mais fácil e organizada em comparação com callbacks aninhados. Em vez de lidar com vários níveis de callbacks aninhados, as Promises podem usar uma única função catch() para lidar com todos os erros em um único lugar.

2- Mais legibilidade e menos aninhamento: o uso de Promises pode melhorar a legibilidade do código, pois as Promises permitem que o código seja escrito em uma sequência mais lógica e linear, em vez de usar callbacks aninhados que podem tornar o código difícil de ler. Isso pode tornar o código mais fácil de entender e manter.

3- Código mais modular e reutilizável: as Promises podem ser facilmente usadas em vários locais do código e podem ser encadeadas juntas para criar fluxos de controle de forma modular. Isso torna o código mais reutilizável e mais fácil de manter e atualizar ao longo do tempo. Além disso, as Promises podem ser usadas em conjunto com outras funcionalidades do JavaScript, como async/await, para criar códigos mais eficientes e limpos.

Em outros artigos falaremos mais sobre funções síncronas com async/await.