У меня возникают трудности с асинхронными функциями Javascript. Код, отображаемый ниже, - это почти весь код, который у меня есть, и я не могу заставить его работать.jQuery асинхронная проблема неопределенное значение
Я пытаюсь использовать Eventful API для извлечения некоторых данных с сервера и отображения его в моем интерфейсе, который создается jQuery.
Таким образом, проблема заключается в следующем: функция поиск, который вызова функции Eventful.prototype.searchanje всегда заканчивается с неопределенным значением, а через несколько секунд, функция searchanje консоли регистрирует фактические/полученных данных построена.
Я довольно новичок в jQuery, и мне было интересно, существует ли какой-либо «шаблон» для обработки этих вещей, конкретно для ожидания, пока функция не вернет значение, а затем продолжит следующие операции. До сих пор я пробовал использовать отложенные и обещания и читал довольно много руководств и ответов stackoverflow на похожие темы, но я не могу заставить его работать правильно. Или, если отложенные и обещания - это правильный путь, не могли бы вы показать мне, как это должно быть сделано?
Заранее спасибо
'use strict';
function Eventful(_name) {
var name = _name;
var appKey = 'appKey';
var that = this;
return {
getName: function() {
return name;
},
getAppKey: function() {
return appKey;
},
search: function() {
that.searchanje(appKey).then(function(oData) {
console.log('oData');
});
}
};
}
Eventful.prototype.searchanje = function(appKey) {
var oArgs = {
app_key: appKey,
q: 'sport',
where: 'Zagreb',
date: '2013061000-2015062000',
page_size: 5,
sort_order: 'popularity',
};
EVDB.API.call('/events/search', oArgs, function(oData) {
console.log(oData);
return oData();
});
};
возможно дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous- звоните) –