在我的应用程序中,我们使用微服务结构,为此我们还添加了缓存。
但是有一种情况是多个相同的请求被触发,并且请求同时被触发,所以缓存似乎也不起作用。我希望对于重复请求,它应该发送先前请求的承诺。
还有很多服务,所以对每项服务添加承诺是行不通的。是否有任何地方可以处理重复请求并在一个共同的地方传递先前的请求承诺。可能是通过使用装饰器或 http 拦截器。
服务电话
testService.getTestByIds = function (
testIds,
contextInfo) {
var params = {
testId: requestDefinitionIds
};
params = CommonProvider.apppendContextParams(contextInfo, params,testInfoCache);
return $http.get(SERVICE_URL + 'tests', {
cache: testInfoCache,
params: params,
transformResponse: CommonProvider.appendTransformer($http.defaults.transformResponse, function (value) {
return transformTestResponse(value);
})
});
};