0
我想知道是否有办法保存请求以便逐一执行它们而不是所有的一起?使用注入器保持请求Angularjs
请求1 请求2 请求3
如果我收到他们几乎在一起的想法是执行请求1并在此之后请求完成后执行其他人。
不要忘了我想用喷油器做。
在此先感谢!
我想知道是否有办法保存请求以便逐一执行它们而不是所有的一起?使用注入器保持请求Angularjs
请求1 请求2 请求3
如果我收到他们几乎在一起的想法是执行请求1并在此之后请求完成后执行其他人。
不要忘了我想用喷油器做。
在此先感谢!
您可以通过在request
方法返回一个承诺持有使用AngularJS拦截,请求:
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
变量),并通过按照你想要的顺序解析每一个请求来发送它们。
您需要提供代码以显示您已尝试此操作并且失败。 – Ohjay44
AngularJS服务$注入器似乎对异步注入没有任何支持。您可以下载其他软件包,如async-injector,或者如果您愿意,可以自己创建一个超过$注入器的承诺层 – Alburkerk