Quais são os prós e contras de usar Promises em vez de callbacks?
Topics
AsyncJavaScript
Edit on GitHub
Prós
- Evite o "callback hell", que pode ser ilegível.
- Facilita a escrita de código assíncrono sequencial que é legívell com
.then()
. - Facilita a escrita paralela de código assíncrono com
Promise.all()
. - Com promessas, esses cenários que estão presentes em código somente com retorno de chamada não ocorrerão:
- Chamar a função de retorno de chamada muito cedo
- Chamar a função de retorno de chamada tarde demais (ou nunca)
- Chamar a função de retorno de chamada poucas ou muitas vezes
- Falhar em passar qualquer ambiente/parâmetros necessários para a função de retorno de chamada
- Ignorar quaisquer erros/exceções que possam ocorrer
Contras
- O código pode se tornar ligeiramente mais complexo (isso pode ser discutível).
- Em navegadores mais antigos onde ES2015 não é suportado, é necessário carregar um polyfill para poder usá-lo.