以下这段代码按照事件循环机制,不应该是先打印出‘heap over'再打印xhr.readyState最后打印responseText吗,为什么最终结果是先打印了xhr.readyState的状态码1再打印’heap over',再继续打印readyState的其他状态码,onreadystatechenge到底是同步还是异步?当我把open方法放到onreadystate之前又先打印‘heap over’,有点搞不懂var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { console.log(xhr.readyState) if(xhr.readyState == 4 && xhr.status == 200){ console.log(xhr.responseText); } }xhr.open("GET",'data.txt',true); xhr.send(null); for(var i = 0; i < 1000000000; i ++) {} console.log('heap over')
2 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
添加回答
举报
0/150
提交
取消