私の目標は、リストにあるさまざまなアーティストのためにこれらのAPIをすべてログに記録することです。 APIを使っていることは、各アーティストが独自のアーティストを持っているため、アーティストごとに1回、複数回呼び出す必要があることです。Javascriptのforループで別のAPIを実行する
var artistList = [...]; //let's say there is a hypothetical 100 artists
var n = artistList.length; //this would be 100
for (var i=0; i<n; i++) {
var request = new XMLHttpRequest();
var urlApi = 'http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=' + artistList[i] + '&api_key=somApiKeyThatWorks&format=json';
console.log(urlApi);
request.open('GET', urling, true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var data = JSON.parse(request.responseText);
console.log(data);
} else {
}
};
request.onerror = function() {
};
request.send();
};
これを実行してコンソールを確認すると、直前にリストされた項目のみがデータとして表示されます。だから私は、これらのすべてのAPIを記録し、各APIの対応するアーティストと正しく取得しますが、私は1つのJSONをログに記録します。
誰でも私にそれを入手する方法を教えてもらえれば、それぞれのJSONが偉大になるAPIごとに記録されるようになります。 request.responseText
のために時間がかかるので、これが終了する前にスキップして、リストの最後の項目だけを記録するという結果になったと感じています。これにアプローチする方法を知らない。 jQueryを使用することはできません。なぜなら、この割り当てをしないように明示的に求められていたからです。
あなたのコードに 'urling'とは何ですか?あなたは 'urlApi'を意味しましたか? –
これは1つのAPIであり、アーティストごとに1つではありません。 – LinuxDisciple