Я новичок в этом узле js и прошел через множество объяснений, перепробовал много решений, но все еще не могу обернуть голову вокруг обратных вызовов функций.
//app.js file
var dashboardfunc = require('./models/admindashboard');
app.get("/dashboard/:id?", function(req, res) {
console.log("we are here in dashboard")
var data = {id: req.params.id};
console.log(data)
dashboardfunc.productlist().then(function(results){
console.log("i am here now ....")
console.log(results)
}).catch(function(err){
if(err){
console.log(err)
}
})
});
//admindashboard.js file
//I tried many other alterations like using call back etc.
// i want the damn results to be back to the app.js and use that
//
function productlist(data) {
return new Promise(function(resolve, reject) {
var param = [data.id];
var sql = 'select * from product where seller_id=?';
console.log(param)
pool.query(sql, param, function(err, results) {
if (err) {
console.log(err)
}
else {
if (results === undefined) {
reject(new Error("Error rows is undefined"));
}
else {
console.log("we got here in productlist")
console.log(results)
return results;
}
}
})
})
}
module.exports = productlist;
<- Результат -> Rb-v2 запущен !!!мы находимся здесь, на панели инструментов: {id: '23'} TypeError: dashboardfunc.productlist не является функцией
Вопрос в том, почему так сложно получить результаты, и почему это так сложно вызватьфункция, получить возвращаемые данные.Наряду с этим, какова сделка с callback v / s обещанием (да, я прочитал почти все сообщения в нем, все еще мой наивный мозг не может обработать это)