我想知道是否有办法保存请求以便逐个执行而不是一起执行?
请求 1 请求 2 请求 3
如果我几乎一起收到它们,则想法是执行请求 1,在此请求完成后执行其他请求。
别忘了我想用注射器来做。
提前感谢!!
您可以使用 AngularJS 拦截器保存请求,方法是在request
方法中返回一个承诺:
authInterceptor.$inject = ['$q', '$rootScope'];
function authInterceptor($q, $rootScope) {
return {
request: function(config) {
var deferred = $q.defer();
if(condition) {
deferred.resolve(config)
}
return deferred.promise;
}
};
}
在此示例中,请求将一直保留,直到满足某个条件。
您可以做的是保留每个请求(上面示例中的deferred
变量(的句柄,并通过按所需顺序解析每个请求来发送它们。