2014-01-25 156 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

相關問題