insert函数模拟异步回调写法,让外层去判断声明函数返回的第一个参数是error还是null。
const insert = (data, cb) => {
data...
if(error){
cb(error);
}else{
cb(null, data);
}
}
对应实例
exports.insert = function (params, callback) {
let post = Object.assign(params, {date: new Date()});
pool.query('INSERT INTO user SET ?', post, function (error, results, fields) {
// 下面改了
if (error) {
callback(error);
for (let key in error) {
console.log(key + "==" + error[key]);
}
console.log(results);
console.log("============sql===========");
console.log(fields);
// 下面改了
callback(null, JSON.parse(JSON.stringify(results)));
});
}
外层 express 有(req, res, next) => {}函数,让next()接收insert()函数的返回值,错误最终会传递给APP.js的错误处理中间件,成功执行会跳过。
soonfy
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…