为什么我的变量在Nodejs中未定义

时间:2014-01-25 03:41:39

标签: node.js

这是我的Nodejs代码

exports.symbol = function(req, res){
symbol = req.params.s;
    //No issues here!!!
console.log("Symbol = " + symbol);

async.parallel({
    A: function(callback, symbol){
        //symbol is undefined here???
        functionA("http://www.xyz.com?tickersymbols=" + symbol, function(result){
            callback(null, result);
        });
    },
    B: function(callback,symbol){
        //symbol is undefined here???
        functionB("http://www.xyz.com?&tickersymbols=" + symbol, function(result){
            callback(null, result);
        });
    },
    C: function(callback,symbol){
        //symbol is undefined here???
        functionC(symbol,function(result){
            callback(null, result);
        });
    }
},function(err, results){
    res.send(results);
}); 

}

问题是变量符号在指示的位置未定义。我怎样才能将这个参数传递给函数。

1 个答案:

答案 0 :(得分:0)

它是未定义的,因为你的函数期望它被传入。从函数设置中删除它,这样symbol引用将被设置为外部函数中的那个。

async.parallel({
    A: function(callback){
        //symbol should be defined now
        functionA("http://www.xyz.com?tickersymbols=" + symbol, function(result){
            callback(null, result);
        });
    },
    B: function(callback){

        functionB("http://www.xyz.com?&tickersymbols=" + symbol, function(result){
            callback(null, result);
        });
    }});  //etc