我有两个异步函数,一个嵌套在另一个中,如下所示:
//Async 1
document.addEventListener("click", function(event){
for (var i in event){
//Async 2
setTimeout(function(){
console.log(i);
}, 200*i);
}
});
我想要的是能够并打印对象的每个条目(i
)event
。然而,Firefox 上的输出是这样的:
MOZ_SOURCE_KEYBOARD
MOZ_SOURCE_KEYBOARD
MOZ_SOURCE_KEYBOARD
MOZ_SOURCE_KEYBOARD
..
如果我移到Async 2console.log(i)
之外,那么我会得到正确的结果:
type
target
currentTarget
eventPhase
bubbles
cancelable
..
i
为什么在读取内部async 2时它不能正常工作?event
在整个Async 2代码块中也不应该“活着”吗?