Promessas I: O que é uma closure?
Closures são funções que lembram seus ambientes léxicos. Ambientes léxicos são o ambiente no qual a função foi declarada.
function parent(x) {
return function closure() { // A closure é declarada aqui.
return x
}
}
const remember = parent("remembers me")
// Parece que a variável x desapareceria depois que
// parent fosse executada, mas isso não acontece.
closure()
// Retorna "remembers me" porque a função interna
// se lembra de x.- Corrija a função
greetingMaker()para que ela funcione com a funçãogreeting(). - A função
greeting()já foi criada (confira a aba Testes).
Exemplo
const greeting = greetingMaker("Hello")
greeting("James") ➞ "Hello, James"Observações
Confira a aba Recursos para obter mais informações sobre closures.