0
OK、ここに私の問題があります。私は、ページネーションを使用するAPIを使って作業しています。応答バックが空の配列になるまでループを続けます。しかし、これは機能しませんし、コードはちょうどハングアップします。すべてのループで、次のページを取得するためにページ変数をインクリメントします。whileループのjQuery AJAXページ設定
// Function to get a list of 50 assignments.
function getAssignments(token, instuctureSubdomain, course, page, callback) {
var settings = {
"async": true,
"crossDomain": true,
"url": "https://" + instuctureSubdomain + ".instructure.com/api/v1/users/self/courses/" + course + "/assignments?per_page=50&page=" + page,
"method": "GET",
"headers": {
"authorization": "Bearer " + token,
"cache-control": "no-cache"
}
}
$.ajax(settings).done(function (response) {
callback(response);
});
};
var loop = true;
var page = 1;
while (loop) {
getAssignments(token, instuctureSubdomain, item.id, page, function (response) {
if (response.length == 0) {
// End the loop because the response returned a blank array.
loop = false;
} else {
response.forEach(function (item) {
// Add the assignment to an array...
});
page++
};
});
};
console.logを使用してどのような結果が得られましたか?私はそこから始めることをお勧めします。 – Neil
ページ区切りが一度に10件ずつ表示され、合計で48件の結果が得られない場合は、最終的な取り消しの長さは0でなく8になりますか? – Harry
@ハリーTrueですが、ループは再び実行され、APIは空の配列を返してループを停止します。 – juliancz