for ループから抜け出すのに問題があります。
現在、ループはすべてのページで jQuery getJSON 呼び出しを実行しています。ページにデータがある場合、すべての項目がログに記録されます。ページにデータがない場合、ループは完全に停止します。
ただし、これを実行するたびに、100 ページすべてをループします。データのないページにヒットすると、「このページにはコンテンツがありません」と記録されますが、for ループは引き続き実行されます。(したがって、コンソールで「このページにはコンテンツがありません」という無限のストリームが発生します)
私は何を間違っていますか?
i = NOTANINTEGER
ループを止めるために an を投げるのを避けたい
for (var i=0; i< 100; i++)
{
var breakForLoop = false;
var API = "http://www.foo.com/bar.json?page=" + i;
$.getJSON(API, function(data) {
var items = {};
// logs items from page run only when the page has data
if (data.length > 0) {
$.each( data, function(i, item) {
console.log(item.text);
});
}
// the page has no data, therefore remainder pages have no data too
else {
console.log("this page has no content");
breakForLoop = true;
return;
}
});
if (breakForLoop) {
break;
}
}