以下這段代碼按照事件循環機制,不應該是先打印出‘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')
關于event loop的一些疑惑
拉莫斯之舞
2019-03-07 13:15:21