nao consigo retornar dados do model para controller!

84 views
Skip to first unread message

cleiton luiz lira da costa

unread,
Jul 19, 2019, 5:57:51 PM7/19/19
to Node.js Brasil
ja tentei de inumeras formas pegar o retorno dessa função all para dar o send no controller e nao consigo! alguem pode me dar uma luz... obrigado.
MODEL --------------------------------------------
class Producao{

//all(req, res){
// res.send('model accessando ALL')
// }
all(){
console.log('model accessando All')
doc.getRows(1, function (err, rows) {
rows.map(x => {
x.posição, x.graduação, x.matricula, x.nome, x.pontuação;
})
})
}
one(){
return console.log('model accessando ONE')
}
}


CONTROLLER --------------------------------------------

var Producao = require('../models/producao');

// Responde com a lista produção
exports.all = function(req, res) {
res.send(Producao.all());
};

Flavio Takeuchi

unread,
Jul 23, 2019, 11:12:31 AM7/23/19
to Node.js Brasil
Você precisa de ou retornar uma promise ou uma chamada de callback.

O método all() ficaria dessa forma:


all(callback){
       console.log('model accessando All')
       doc.getRows(1, function (err, rows) {
           rows.map(x => {Digite o código aqui...
                x.posição, x.graduação, x.matricula, x.nome, x.pontuação;
           })
           return callback(rows);
       })
   }

E no controller:

// Responde com a lista produção
exports.all = function(req, res) {
   Producao.all((rows) => res.send(rows));
};

cleiton luiz lira da costa

unread,
Jul 24, 2019, 12:01:18 AM7/24/19
to Node.js Brasil
Obrigado pela ajuda nobre ... Andei estudando rsrs e a solução que utilizei foi a promisse!
Reply all
Reply to author
Forward
0 new messages