Cursos / Informática para Internet / Desenvolvimento Front-end II / Aula
Promises, ou promessas, definem uma ação que vai ser executada no futuro, e que podem ser resolvida (com sucesso) ou rejeitada (com erro).
Para criarmos uma Promise é muito simples, basta inicializar um new Promise
, que recebe uma função como argumento. Essa função tem a assinatura (resolve, reject) => {}
, e podemos realizar nossas tarefas assíncronas no corpo dela. Quando queremos retornar o resultado final chamamos a função resolve(resultado)
, e quando queremos retornar um erro, chamamos reject(erro)
.
Uma Promise pode assumir três estados principais:
Uma Promise que está pendente (pending) pode vir a se tornar uma Promise resolvida com um valor, ou então rejeitada por um motivo (que é o erro). Sempre que qualquer um dos dois casos acontecer, o método then()
da Promise será chamado e ele será o responsável por verificar se houve um erro ou um sucesso, chamando o método resolve()
em caso de sucesso, ou reject()
em caso de falha.
Veja um exemplo do uso de Promises abaixo:
var promessa = new Promise((resolve, reject) => {
setTimeout(() => resolve('terminou!'), 2000);
});
promessa
.then((resultado) => console.log(resultado))
.catch((erro) => console.log('deu erro!'));
Versão 5.3 - Todos os Direitos reservados