Мне нужна переменная, уникальная для каждого запроса внутри моего http-перехватчика. Поэтому, когда приходит запрос, я хочу установить для этой переменной какое-то значение и прочитать это значение в ответе. Проблема в том, что перехватчики используются совместно, поэтому каждый раз, когда в мою переменную приходит новый запрос, он просто переопределяется.
angular.module('app').factory('httpInterceptor', ['$q',
function($q) {
var myInstanceVar = "";
return {
request: function (config) {
myInstanceVar = Math.random();
return config;
},
response: function (response) {
console.log(myInstanceVar);
return response || $q.when(response);
}
}
}
]);
Так что в этом примере я бы хотел, чтобы myInstanceVar
был уникальным, когда я выводил значение в response
, но вместо этого он просто выводил значение, сгенерированное последним запросом. Поэтому, если у меня есть 3 запроса, результат будет 3,3,3
вместо 5,9,3
, так как последний запрос установил его на 3
.
Я знаю, что мог бы просто добавить значение в тело запроса и заставить сервер вернуть его обратно, но я хочу избежать этого, если это возможно.
Я использую AngularJS 1.6.4, если это имеет значение.