私はGM_xmlhttpRequest
次のようなループで実行しています:
for (var i = 0; i < entries.length; i++) {
var entryName = entries[i];
var requestResult = '';
GM_xmlhttpRequest({
method: 'GET',
url: 'http://example.net/api/search.xml?q=' + entryName,
synchronous: true,
onload: function (response) {
if (response.status == 200) {
responseXML = new DOMParser().parseFromString(response.responseText, "text/xml");
requestResult = responseXML.evaluate('//entry[id/text() = "' + entryIndex + '"]/start_date/text()',
responseXML, null, XPathResult.STRING_TYPE, null).stringValue;
} else {
requestResult = 'request error';
}
}
});
console.log(entryName + ' ' + requestResult);
}
問題なく動作しますが、問題は期待される結果が 1 行下にシフトされることです。
entryName1
entryName2 result1
entryName3 result2
entryName4 result3
... ...
したがって、私の同期onload
はGM_xmlhttpRequest
次のループ反復で呼び出されますがurl
、前の反復からのパラメーターを使用して呼び出されます。これを修正するにはどうすればよいですか?