【问题标题】:Weird Bug in my Javascript Scope我的 Javascript 范围中的奇怪错误
【发布时间】: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


【解决方案1】:

我最终将其追溯到我的路由器。我不恰当地解析了请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-17
    • 2016-11-30
    • 1970-01-01
    • 2013-07-05
    • 2013-10-29
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    相关资源
    最近更新 更多