私のアプリは、クライアント側の Google Contacts API からユーザーの Google 連絡先をすべて取得しています。これにより、通常、1 ~ 2000 個の異なる JSON オブジェクトが生成されます。それらが受信されると、私のアプリはそれらを繰り返し処理し、各連絡先オブジェクトを再フォーマットしてから、再フォーマットされた連絡先オブジェクトを POST 要求を介してデータベースに保存しようとします。この結果、クライアント側で多数 (1 ~ 2000) の AJAX 呼び出しが発生しますが、5 ~ 10 回の呼び出しの後、停止します。これらの AJAX リクエストをすべて処理する、または大量のデータを一度に保存するための最良の方法は何ですか?
これが私の現在のコードの要約版です:
// gContacts.length = 722
$(gContacts).each(function(index, contact) {
// Reformat each contact object to fit into my database
var newContact = {}
newContact.title = // String
newContact.emails = // Object featuring different emails
newContact.phone_numbers = // Object featuring different phonenumbers
// Save to Database via Backbone
var newContact = new App.Collections.Contacts()
newContact.create({
title : newContact.title,
emails : newContact.emails,
phone_numbers : newContact.phone_numbers
}, {
success: function (response) {
},
error: function (model, xhr) {
var errors = $.parseJSON(xhr.responseText).errors
console.log(errors)
}
}) // End .save
}); // End of .each()