Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença de notação na chamada de uma função

Estava com um erro no provider agendamento-dao no seguinte trecho

let promise = this._storage.get(chave).then( (dado) =>{dado?true:false});

percebi que a diferença entre o meu código com o do instrutor era as chaves '{' e '}', após a retirada, o codigo funcionou normal.

Alguem poderia me explicar a diferença com e sem o uso das chaves?? Agradeço resposta!!

2 respostas
solução!

Opa blz?

Existe um conceito muito importante no JavaScript (ES6+) que são as novas formas de declaração de função de callback (no geral) que são as Arrows Functions. Temos varias possibilidades de declarar a mesma função de varias formas (dependendo da ocasião), quando temos uma única instrução podemos omitir as chaves { }, sendo assim, quando tivemos uma única instrução podemos simplifica-la retirando as chaves.

Formas de declarar a mesma função:

let promise = this._storage.get(chave).then(dado => dado?true:false);
let promise = this._storage.get(chave).then((dado) => dado?true:false);
let promise = this._storage.get(chave).then(dado => {dado?true:false});
let promise = this._storage.get(chave).then((dado) => {dado?true:false});

MDN - Arrow functions

exploringjs - Arrow functions

Entendi, mas no último caso a variável 'dado' retornava 'undefined'. Foi isso que nao compreendi.

Mas agradeço a resposta!!