【发布时间】:2015-07-21 23:55:53
【问题描述】:
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>");
}
我希望 id 淋浴保存我的 console.log 中的值。它只是输出
目前未定义,我知道我可以简单地在'ow' 中附加'hold',但我的意图是返回'hold' 值并在不同于event() 的外部函数中使用它。
【问题讨论】:
-
异步编程不是这样工作的。在您的回调中执行此操作,或使用某种形式的承诺等。
-
谢谢!请详细说明...问题是当我处于该函数(oData)的执行上下文中时,我无法真正更新全局变量。还是根本不可能?我有点迷茫,一个promise,如angular?
-
你不是已经这样做了吗?所以不,我的意思是你应该在回调中做你的 jQuery 工作。 (此外,您当前正在返回调用
console.log的值,这似乎没用。)承诺,就像任何承诺一样——它们在 AngularJS 之外使用。 -
是的,我可以在回调中做到这一点,我更愿意获取该值并完全在一个新函数中使用它,我该如何返回它,这就是我要问的。因为我可以在我的控制台中看到我想要的值但是我如何使用这个值
-
我会考虑退后一步,把你的头放在像这样的调用的异步性质上,或者只是一般的。
标签: javascript jquery arrays function global-variables