2014-01-25 4 views
0

Вот мой Nodejs кодПочему моя переменная не определена здесь, в 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); 
}); 

}

Проблема является переменной символ не определен в указанном месте. Как передать этот параметр функции.

+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 
+0

В этом вопросе ничего не говорится о том, что ему нужен внешний «символ», а не аргумент, но этот пример недостаточно для диагностики. –

+0

В этом была проблема. Сделал изменения, и он работает сейчас. благодаря – prashant

Смежные вопросы