サーバーに Ajax リクエストを行うコードを書いています。以下に示すように、リクエストの外部でエラー処理に try/catch を使用しています。検索メソッドはリクエストをサーバーに送信しており、結果を読み取ることができる場合は、コールバック関数を呼び出します。
私はこれを求めています: ajax リクエストは非同期であるため、(検索メソッド内ではなく) コールバック内にエラーがある場合、それは外側の catch ブロックに分類されますか、それともコールバック関数で別の try/catch が必要ですか?
try {
service.search(function () {
var entries = service.getEntries();
$.each(entries, function (index, content) {
var cat = {
// those may throw exceptions, too
name: content.get("category"),
path: content.getPath()
};
categories.push(cat); // defined somewhere else.
});
if (categories.length < totalResults) {
// A method call may throw exception
} else if (typeof loadCallback === 'function') {
// Done.
}
});
} catch (e) {
}