假設我有一個URL數組,並且我想確保每個URL都能正常工作,我創建了下面的代碼。但是隻有陣列中的最後一個URL正在測試。我怎樣才能確保每個url返回一個200響應代碼?要清楚這些都是我正在測試的所有遠程地址,並且它們指向體積適中的PDF。使用Node.js測試URL
根據@ lukas.pukenis的回覆進行更新。結果是相似的,實際上只檢查了幾個文件。
function check(l) {
console.log(l);
http.get(l, function(res) {
if (res.statusCode != 200) {
console.log(res.statusCode + ' on '+l);
} else {
console.log('success on ' + l);
}
});
}
for (link in fileLinks) {
check(fileLinks[link]);
}
該代碼輸出:
http://somesite.com/somefile1.pdf
http://somesite.com/somefile2.pdf
http://somesite.com/somefile3.pdf
...
all the rest of them
...
http://somesite.com/somefile99.pdf
success on http://somesite.com/somefile1.pdf
success on http://somesite.com/somefile2.pdf
404 on http://somesite.com/somefile5.pdf
success on http://somesite.com/somefile7.pdf
如果'fileLinks'是Array,嘗試使用'.forEach(函數(項目){})'函數代替'for',其通過用於循環javascript對象中的各種鍵。它不是用於數組。 – Jondlm