gpt4 book ai didi

javascript - Twitch api freecodecamp 循环问题

转载 作者:行者123 更新时间:2023-11-30 20:55:27 24 4
gpt4 key购买 nike

我正在尝试在 freecodecamp 上完成 twitch api。

我有一个 allTotalUsers 数组,其中包含我正在循环访问的用户。

我的循环似乎正确地为我的 allTotalUsers 列表中的每个用户获取了我需要的信息。我通过显示来自离线用户的数据对此进行了测试,结果显示(多个)。

问题出在我的 if(streamInfo==null) 语句上,streamerName 仅显示重复项。

例如,如果有 2 个离线用户,Bob 和 John。

会显示鲍勃鲍勃

function showOfflineUsers() {

var onlinePeople = $('#displayInfo');
onlinePeople.html('');

//allTotalUsers is an array list that is loaded when the page loads and stored globally.
for (var i = 0; i < allTotalUsers.length; i++) {

var streamerName = allTotalUsers[i];
var xmlhttp = new XMLHttpRequest();


xmlhttp.onreadystatechange = function() {

if (this.readyState === 4 && this.status == 200) {
var json = JSON.parse(this.responseText);

// gets the status of stream(null etc)
var streamInfo = json['stream'];

if (streamInfo == null) {
onlinePeople.append("<li>" + "<a href = 'https://www.twitch.tv/" + streamerName + "'>" + streamerName + "</a>" + "</li>" + "<br>");

}


}

}

xmlhttp.open("GET", "https://api.twitch.tv/kraken/streams/" + streamerName + "?client_id=" + clientId, true);
xmlhttp.send();

};
}

最佳答案

根据 spec

let and const declarations define variables that are scoped to the running execution context’s LexicalEnvironment. The variables are created when their containing Lexical Environment is instantiated but may not be accessed in any way until the variable’s LexicalBinding is evaluated.

因此,与 var 的作用域为 VariableEnvironment(执行上下文)相反,let 的作用域为 LexicalEnvironment.

替换

var streamerName = allTotalUsers[i]; 

let streamerName = allTotalUsers[i];

关于javascript - Twitch api freecodecamp 循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com