@dimkaholodov

Как правильно хранить текущие данные?

Добрый день. Помогите пожалуйста разобраться, делаю следующее:
Каждые 5 секунд получаю данные курса usd/rub.

setInterval( function () {
$.getJSON( 'https://query.yahooapis.com/v1/public/yql?q=select+*+from+yahoo.finance.xchange+where+pair+=+%22USDRUB%22&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=', function( data ) {
  var price = data.query.results.rate.Rate;
  console.log(price);
});
}, 5000 );


Мне необходимо использовать, как текущее значение переменной price,
так и значение получаемое через 5 секунд, а затем сравнивать их.
Соответственно понимаю, что price в моем случае локальная переменная.
Пробовал записывать значение в свойство объекта window, но, значения обновляются синхронно, в итоге совсем запутался.
Подскажите пожалуйста, могу ли я каким либо образом использовать значение переменной price в другой функции?
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 1
возможно вот так

// глобальная переменная для курсов.
var data = [];

setInterval( function () {
$.getJSON( 'https://query.yahooapis.com/v1/public/yql?q=select+*+from+yahoo.finance.xchange+where+pair+=+%22USDRUB%22&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=', function( data ) {
  var price = data.query.results.rate.Rate;
// проверяем что нужно тут

   // делаем кеш
   data = price; 

  console.log(price);
});
}, 5000 );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы