Javascript node.js使用自定义模块从mysql查询中获取结果
如何获得select查询结果? 我得到了空/空。同样在读了一些文章之后,我尝试了回调逻辑并尝试了回调函数,但到目前为止没有运气 我的自定义模块所有代码如下Javascript node.js使用自定义模块从mysql查询中获取结果,javascript,node.js,express,Javascript,Node.js,Express,如何获得select查询结果? 我得到了空/空。同样在读了一些文章之后,我尝试了回调逻辑并尝试了回调函数,但到目前为止没有运气 我的自定义模块所有代码如下 module.exports = { all: function (cb) { con.query("SELECT * from `posts`", function (err, posts, fileds) { if (err) { return cb(nul
module.exports = {
all: function (cb) {
con.query("SELECT * from `posts`", function (err, posts, fileds) {
if (err) {
return cb(null, err);
} else {
return cb(null, posts);
}
// console.dir(posts);
});
},
store: function (req, res, next) {
// get values..
const title = req.body.title;
const body = req.body.body;
const filename = (req.file != null) ? req.file.filename : null;
var sql = "INSERT INTO `posts` (`post_id`, `title`, `body`,`file`, `created_at`) VALUES (NULL, '" + title + "', '" + body + "', '" + filename + "', CURRENT_TIMESTAMP);";
con.query(sql, function (err) {
console.log('Error' + err);
});
next();
// redirect
res.redirect("/admin/post");
},
delete: function (req, res, next) {},
edit: function (req, res, next) {},
update: function (req, res, next) {}
}
我试过cb(回调),但它说
类型错误:cb不是一个函数
没有运气得到结果。
请引导和帮助
另外,我在另一个类似这样的文件中获取所有函数数据
var postModel = require('../models/posts');
console.log("admin.js :" + postModel.all());
参数应该是如下所示的回调函数
postModel.all(function(response) {
console.log(response);//you will get result here
});
创建了简单的回调函数,解决了我的问题。请参阅下面的代码
module.exports = {
all: function (callback) {
const newLocal = function (err, posts) {
if (err) {
return callback(null, err);
}
else {
// console.dir(posts);
return callback(posts);
}
};
con.query("SELECT * from `posts`", newLocal);
},
store: function (req, res, next) {
// get values..
const title = req.body.title;
const body = req.body.body;
const filename = (req.file != null) ? req.file.filename : null;
var sql = "INSERT INTO `posts` (`post_id`, `title`, `body`,`file`, `created_at`) VALUES (NULL, '" + title + "', '" + body + "', '" + filename + "', CURRENT_TIMESTAMP);";
con.query(sql, function (err) {
console.log('Error' + err);
});
next();
// redirect
res.redirect("/admin/post");
},
delete: function (req, res, next) {},
edit: function (req, res, next) {},
update: function (req, res, next) {}
}
更新代码为:
const newLocal = function (err, posts) {
if (err) {
return callback(null, err);
}
else {
// console.dir(posts);
return callback(posts);
}
};
con.query("SELECT * from `posts`", newLocal);