Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2014, 16:10
Интересующийся
Отправить личное сообщение для eniacty Посмотреть профиль Найти все сообщения от eniacty
 
Регистрация: 06.08.2014
Сообщений: 21

Возврат значения из функции
Есть такая функция:

var getLastUpdData = function() {
      var data = 1;
      $http.get('data/lastUpd').success(function(data) {
              return data
            })
      return data
      };

Возвращается конечно var data = 1. Как вернуть другую, полученную в get запросе?
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2014, 16:19
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Никак. Загрузка данных – асинхронная операция, поэтому все последующие действия должна спровоцировать функция, переданная в success, она же может передать data другим функциям.
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2014, 16:29
Интересующийся
Отправить личное сообщение для eniacty Посмотреть профиль Найти все сообщения от eniacty
 
Регистрация: 06.08.2014
Сообщений: 21

Поясню почему спрашиваю.

Я делаю методы апи. Хочется сделать так:

var APIMethods = function() {

  var getLastUpdData = function() {
        $http.get('data/lastUpd').success(function(data) {
              return data
            })
        };

  return {
        getData  : getLastUpdData()
  }

}


Как бы вы реализовали подобное?
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2014, 16:40
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

eniacty, ну Вы сами подумаете, будет ли производительно, если выполнение скрипта будет приостанавливаться, пока не получим ответ?
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2014, 16:50
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

В реальности - только колбэк. Остановка обработки до получения результата - в js останавливает всё.
В es6 можно поизвращаться с yield и генераторами.(работать будет только в фф и вроде как в самых последних chrome)
В es7 уже что-то такое будет.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат аргумента в функции из вызывающей её функции ivanshum Общие вопросы Javascript 2 11.07.2014 13:36
Возврат принятого значения внешней функции из jquery ajax pro_xaoc jQuery 2 20.06.2014 12:20
Возврат значения функции после завершения анимации (затухания) grego jQuery 5 16.04.2013 22:25
Превращение значения обьекта в название функции. alexandre Общие вопросы Javascript 4 16.02.2011 01:04
Возвращение значения из функции dba Events/DOM/Window 21 06.10.2009 01:33