【发布时间】:2015-03-15 21:16:58
【问题描述】:
function(Model, payload) {
try {
var Obj = new Model(payload);
Obj.save(function(err, obj) {
if (err) {
console.log('should be err', err.err);
retVal = err.err;
} else {
console.log('should be user', obj);
retVal = obj;
}
});
} catch (e) {
return e;
}
return retVal;
};
我试图从上面的代码 sn-p 返回retVal,但我不断得到undefined 作为返回值。当我将 retVal 的声明移到函数外的 global 范围时,它以某种方式设法工作。
问题是我不想在全球范围内声明retVal。有什么帮助吗?
【问题讨论】:
-
恕我直言,捕获异常以返回它不是一个好习惯。这将导致您遇到更多问题。如果您想在更高级别处理异常,您可能不想在当前函数中捕获它。
标签: javascript node.js mongoose closures mean-stack