【发布时间】:2014-03-16 00:06:19
【问题描述】:
我遇到了一个奇怪的错误,其中导出的函数完全忽略了传递的参数,而是生成了自己的参数。
我的代码如下:
exports.returnThumbs = function(req, res) {
var params = '{}, {thumb: 1}';
console.log(params);
PictureService.find(params, function(err, response){
if(err){
res.send(err);
} else {
console.log(response);
res.send(response, 'binary');
}
});
}
调用者:
// Finds Answer by Passed Parameters
exports.find = function(params, callback){
console.log(params);
PictureModel.find(params, function(err, response){
if(err){
console.log(err);
callback({'error': 'Error retrieving answers'});
} else{
if(!response){
callback({'error': 'There are no pictures from this user_id'});
} else{
callback(null, response);
}
}
});
}
这应该清楚地传递 '{}, {thumb: 1}' 作为参数,但是 console.log 会打印: { user_id: 'thumbnails' } 这很奇怪。不管我做什么,重命名,重构。它总是将其作为参数打印出来。
【问题讨论】:
-
你的 console.log(response);打印?
-
你在使用其他
find??
标签: javascript node.js debugging scope v8