function event() {
var hold = "";
var oArgs = {
page_size: String(pgsize)
};
var wow = EVDB.API.call("/events/search", oArgs, ow = function(oData) {
hold = oData.events.event[0].description
return console.log(hold);
});
$("#shower").append("<li>" + hold + "</li>");
}
我希望我的console.log
能够保持身份识别淋浴的价值。它只是输出
目前未定义,我知道我可以简单地在'hold'
中附加'ow'
但我的意图是返回'hold'
值并在不同于event()
的外部函数中使用它。
答案 0 :(得分:0)
在异步编程中,您可以可靠地使用异步操作结果的唯一位置是在提供该结果的回调内部。这是因为被调用的异步在将来被称为某个不确定的时间,同时其他代码继续运行。此外,您也无法从异步回调中返回值。
所以,你可以这样做:
function event() {
var oArgs = {page_size: String(pgsize)};
EVDB.API.call("/events/search", oArgs, function(oData)
$("#shower").append("<li>" + oData.events.event[0].description + "</li>");
});
}
我还删除了对this
的所有引用,因为此函数中没有明确的对象创建,可以为this
提供适当的上下文。