2013-07-22 103 views
0

「沒有定義」我寫了一個腳本拋出錯誤爲「行沒有定義」,但它似乎是正確的:如何解決錯誤的節點JS

function myFunction(resourceIdentifiers,callback) { 

    dbconnection.execute(function(err,response) { 

     response.query('call SP_ExposePricingDetailforUI(' + resourceIdentifiers + ')', 
      function (err, rows, fields) { 
       callback(err, { rows: rows, fields: fields}); 
      } 
     ); 
    }); 

    return rows; 
} 

module.exports.myFunction = myFunction; 
+0

爲什麼你在外部函數的末尾返回行?它在該範圍內不可用,但是您的回調方法是解決異步問題的正確方法... – landons

+0

可能是因爲我無意中在回答[他的原始問題]中執行了它(http://stackoverflow.com/questions/17797805/how-to-call-the-function-in-node-js)(該答案現在已被修復) – dc5

回答

2

後,我格式化你的代碼,使它可讀,我看到行return rows存在於回調函數之外,其中rows不在範圍內。您需要直接在myFunction內定義rows,然後從您的存儲區回調函數中對其進行分配。