在應用程序中我對API以下網址結構:如何在http攔截器中取消請求?
// public
public/url-xyz
// private
dashboard/url-xyz
知道了,並試圖以節省不必要的請求:什麼是取消的請求的最佳方式?什麼到目前爲止,我已經試過是:
angular.module('mymod').factory('httpInterceptors', function ($injector, $q, httpBuffer)
{
return {
request: function (config)
{
var url = config.url;
if (url.match('/dashboard/')) {
// immediately cancel request
var canceler = $q.defer();
config.timeout = canceler.promise;
canceler.reject(config);
// logout and go to login-page immediately
// ...
}
// request config or an empty promise
return config || $q.when(config);
}
};
});
但由於它期望數組,並得到一個對象作爲迴應,如果它的請求被取消一樣,這會導致與$ressource
問題。
有趣的是我發現通過谷歌同樣的問題,但我無法通過stacoverflow搜索找到它,我因而無法以紀念我作爲一個重複的問題: http://stackoverflow.com/questions/22090792/cancelling-a-request-with-a-http-interceptor – 2014-09-25 19:02:23
教程在這裏http://www.freakyjolly.com/how-to-cancel-http-requests-in -angularjs-app/ – 2017-08-13 11:59:12