У меня есть служба для получения некоторых данных из API и передачи их в приложение. Простая функция, подобная этой:
getEnvironmentStatus() {
var _this = this;
var req = {
method: "GET",
url: "/api/system/hosting",
headers: {},
data: {}
}
return _this.$http(req);
}
В каком-то другом месте у меня есть:
determineHostingEnv() {
var _this = this;
this.$env.getEnvironmentStatus()
.then(function(response){
_this.EnvHositng = response.data.cloud_hosted;
}, function(error) {
});
}
Если мне нужна та же информация в другом месте (другом контроллере), мне нужно вызвать api снова.
Как я могу заставить функцию getEnvironmentStatus () вызывать API только один раз и сохранять данные в локальной переменной, чтобы она могла обслуживать эту переменную в следующий раз, когда ее запрашивают, вместо вызова API? Кроме того, что если это значение будет запрошено несколько раз, прежде чем первый API вернет значение? Могу ли я предотвратить вызов этого API несколько раз?