我知道标题似乎有些奇怪,但不确定如何解决这个问题:)
无论如何,在Chrome控制台中,我正在执行以下代码:
var ids = [];
//Initialize ids
fetchIds("hamburgers", {
success: function(e) {
_.each(e, function(e) {
_.each(e.el, function(e) {
ids.push(e.ei);
})
}),
function() {};
}
});
这很好用,当我在控制台中输入ids
时,它包含5个元素。但是,如果我添加任何后续语句,ids
是否被清空?例如,如果我添加一个简单的日志:
var ids = [];
//Initialize ids
fetchIds("hamburgers", {
success: function(e) {
_.each(e, function(e) {
_.each(e.el, function(e) {
ids.push(e.ei);
})
}),
function() {};
}
});
console.log(ids.length);
这将输出0,就好像ids
不包含任何元素,并且如果我尝试在任何后续语句中使用ids
,它是否被认为是空的?为什么会这样?
答案 0 :(得分:0)
函数fetchIds
可能是异步函数。将console.log(ids.length);
放在success
函数中