我在使用Javascript的異步函數時遇到困難。 下面顯示的代碼到目前爲止幾乎是我擁有的全部代碼,我無法使其工作。jQuery異步問題undefined值
我試圖使用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-打電話) –