2014-09-29 69 views
0

我正在使用一個函數,它需要一個回調參數來傳遞我自己的函數。然而,我發現了錯誤function expectedJavascript Foreach Function Expected

GpsGate.Server.MyService.getTracksByUser(groupName, user.username, getTracksByUser_callback()); 

function getTracksByUser_callback(result) 
{ 
    var responseData = '<response>'; 
    result.tracks.foreach(//error on this line 
    function addTrack(track) { 
     responseData += '<track>'; 
     //ommited 
     responseData += '</track>'; 
    } 
); 
    responseData += '</response>'; 
    response.body = responseData; 
} 

看例子http://msdn.microsoft.com/en-us/library/ie/ff679980(v=vs.94).aspx IM不能確定爲什麼它不工作

+3

'results.tracks.foreach'不是函數。如果它應該是一個數組,它應該是[forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) – 2014-09-29 18:16:57

+1

確保發佈*完整的*錯誤信息和將來的上下文。 – user2864740 2014-09-29 18:24:21

回答

3

你是不是傳遞功能,您正在執行的功能和傳遞的結果。

刪除括號:

GpsGate.Server.MyService.getTracksByUser(groupName, user.username, getTracksByUser_callback);

還有馬特Burland在評論中指出的錯誤,它應該forEachforeach

+0

謝謝!刪除括號然而將函數期望的錯誤移動到getTracksByUser調用 – user3576112 2014-09-29 18:41:46

+0

在您嘗試使用它之前移動函數定義。 – 2014-09-29 19:24:34