nodejs 中如何获取mongoose保存的结果反馈?
目的是想写一个函数单独保存一个model,怎么返回save里面的反馈?
var mongoOp = require('../models/basket');
exports.insert = function (pname, pprice, edate) {
console.log(pname + ' ' + pprice);
var db = new mongoOp();
var response = {};
db.pname = pname;
db.pprice = pprice;
db.edate = edate;
db.save(function(err) {
if (err) {
response = {
"error": true,
"message": "Error adding data"
};
} else {
response = {
"error": false,
"message": "Data added"
};
}
});
return err;
};
如果用co和thunkify模块,要怎么写?
银白的gouf
9 years, 5 months ago
Answers
因为 db.save() 是异步的,所以,你的
return err
返回的是
undefined
。这里正确的办法是使用回调函数,如下:
exports.insert = function(pname, pprice, edate, cb) {
// ...
db.save(function(err) {
if (err) {
response = {
"error": true,
"message": "Error adding data"
};
} else {
response = {
"error": false,
"message": "Data added"
};
}
return cb(err, response);
});
};
co
和
thunkify
没用过。
爬出的法老
answered 9 years, 5 months ago