私は、.getJSONが非同期呼び出しを行うことを知っています。これは、私がconsole.logに配列の 'ストリーム'を、forループの後にすることができないことを意味します(.getJSONは終了していないので)。しかし、私のJavascriptのほとんどは、これらの呼び出しの結果に依存します!配列の.getJSONを呼び出すにはどうすればいいですか?
しかし、私は実際にすべての.getJSON呼び出しが配列を通して行われるまで待つ必要があります。これは配列の最後の部分に約束を置くことを意味します(私は思う) 。これをやり遂げるにはどうしたらいいですか、あるいは私はこの問題を間違った方法で見ていますか?ありがとう。
var reg_users = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"];
var streams = [];
for (var i = 0; i < reg_users.length; i++) {
$.getJSON('https://api.twitch.tv/kraken/streams/' + reg_users[i] + '?callback=?', function(data) {
streams.push(data);
});
}
使用Promise.all –