jQuery を使用して Javascript API クライアントを作成しています。私のトップレベルのリクエストメソッドは次のようになります:
function request(method, uri, params, proxies) {
var deferred = $.Deferred();
$.ajax({
data: method == 'GET' ? params : JSON.stringify(params),
contentType: 'application/json',
dataType: 'json',
url: api.root + uri,
type: method,
xhrFields: {
withCredentials: true
}
}).done(function(body) {
deferred.resolveWith(this, [body.data]);
}).fail(function(xhr) {
deferred.rejectWith(this, [xhr]);
});
return deferred.promise();
},
fail
返された deferredのデフォルト ハンドラーを設定するにはどうすればよいですか? つまり、deferred のfail
条件に他のハンドラーが関連付けられていない場合は、デフォルトのハンドラーを呼び出します。
特定の処理を持つ部分を除いて、アプリケーションでグローバルな例外処理を行うためにこれを実行したいと考えています (そしてfail
、遅延に対して独自のハンドラーを定義します)。