@beduin01

Как передать данные из колбека в переменную?

Подскажите, как передать данные из колбека в переменную:

var data_fromServer;

		$http({
		  method: 'GET',
		  url: 'http://127.0.0.1:8080/stat'
		}).then(function successCallback(response) {
		    console.log(response.data)
		    data_fromServer = response.data
		  }, function errorCallback(response) {
		    console.log("Can't get the data!")
		  });
		console.log(data_fromServer);


console.log(data_fromServer); выводит undefined
значит данных в нем нет...
console.log(response.data) выводит данные
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 3
@GreatRash
Наверное просто консоль лог отрабатывает быстрее чем промис успевает данные в переменную записать.
Ответ написан
AppFA
@AppFA
Frontend developer at Yandex
К тому времени когда вы вызвали в консоли переменную data_fromServer она ещё не заполнилась данными с сервера. Т.к. данные вы получает асинхронно.
Ответ написан
@bromzh
Drugs-driven development
Раз уж ты промисы используешь, то почему просто не вернуть значение из промиса?
$http({
    method: 'GET',
    url: 'http://127.0.0.1:8080/stat'
}).then(function (response) {
    return response.data;
}).then(function (data) {
    console.log(data);
}).catch(function () {
    console.log("error");
});

Ну а вне промисов ты асинхронные данные не получишь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы