目前我正在實施twitch.tv應用程序使用json作爲我的freecodecamp課程的一部分。使用twitch api,我必須調用json兩次,以獲取用戶和流數據。我也在循環中這樣做,因爲我有多個拖放器需要遵循。在這裏你可以看到我的code。
$(document).ready(function() {
var streamerList = ["MisterRogers","freecodecamp"];
getStream(streamerList);
});
function getStream(streamerList) {
for (var k = 0; k < streamerList.length; k++) {
var userURL = makeURL("users", streamerList[k]);
var streamURL = makeURL("streams", streamerList[k]);
$.getJSON(userURL, function(data) {
var displayName = data.display_name;
var logo = data.logo;
$.getJSON(streamURL, function(data){
var status, game;
console.log(data);
if (data.stream === null){
status = 'Offline';
game = 'No Content Available';
} else if (data.stream === undefined){
status = 'Not available'
game = 'Channel Closed';
} else {
status = 'Online';
game = data.stream.game;
}
addRow(displayName, logo, status, game);
});
});
}
}
在這個例子中,我使用了兩個拖放器(freecodecamp和Mister Rogers),其中一個在線,另一個在線。然而,第二次json調用中的數據正在混亂,在我的應用程序中,我將它們視爲離線。它的工作很好,如果我刪除freecodecamp或羅傑斯先生,只留下一個流光。但是兩個或更多不起作用。我對js很陌生,所以如果你能解釋我邏輯上的差距,我會非常感激。乾杯。
可能是與您的參數命名衝突。我相信內部函數調用的'data'隱藏了外部'data'變量。嘗試重命名其中一個,看看你的結果是否改變。 – JBC
Noup,重命名'data'變量之一併不能解決問題。還要別的嗎? – user2963789