請問為什麼會在for迴圈結束才會執行非同步函式?
請看這段程式碼:
for(var i=0; i<10; i++){
var now = new Date();
while (new Date - now < 1000);
console.log("here");
setTimeout(function(){
console.log(1); //this
}, 5000);
}
setTimeout在這應該是非同步函式吧!我使用了while來使每個迴圈延遲1s,按理當執行第一次迴圈執行了setTimeout,他會在後臺靜默執行,不會阻塞。但是console.log(1);都是在迴圈執行完成後才會輸出。請問這是什麼原因?謝謝!
另外我注意到迴圈結束後立刻輸出了4個console.log(1);那應該是執行迴圈後setTimeout就已經在後臺執行了?
相關文章
- 分析為什麼有時在非UI執行緒更新UI會崩潰UI執行緒
- 系統為什麼會在執行時當機
- javascript函式中的動作只有執行後才會有效JavaScript函式
- Spring——為什麼會有迴圈依賴(原始碼)Spring原始碼
- 執行緒join為什麼在解構函式中執行緒函式
- react中在函式繫結時會馬上執行.沒有加括號不會馬上執行React函式
- 為什麼dispatch_sync在主執行緒會死鎖執行緒
- 主執行緒中的Looper.loop()一直無限迴圈為什麼不會造成ANR?執行緒OOP
- 在.net中為什麼第一次執行會慢?
- js jquery 結束迴圈JSjQuery
- 在ArrayList的迴圈中刪除元素,會不會出現問題?
- 為什麼用for迴圈繫結的事件處理函式只有最後一個有效事件函式
- 為什麼對陣列排序讓Python迴圈執行更快陣列排序Python
- 為什麼不建議在for迴圈中使用"+"進行字串拼接字串
- 請問Jive(J道)在什麼環境執行。
- 在網上賭玩什麼平臺才不會被黑
- vue sync 函式同步執行 待請求確認Vue函式
- 在Mysql中執行一條SQL,會經歷什麼?MySql
- 【Java】JDK1.8之前HashMap併發情況為什麼會發生死迴圈JavaJDKHashMap
- 請教關於執行緒的結束問題,急!!!執行緒
- 為什麼 Python 程式碼在函式中執行得更快?Python函式
- 我會手動建立執行緒,為什麼讓我使用執行緒池?執行緒
- 【譯】理解Javascript函式執行—呼叫棧、事件迴圈、任務等JavaScript函式事件
- 自定義單連結串列佇列的基本介面函式(非迴圈佇列)佇列函式
- Python如何強制結束迴圈?Python
- AngularJS教程十八—— 迴圈結束事件AngularJS事件
- 為什麼 php empty 函式判斷結果為空,但實際值卻為非空PHP函式
- 我自定義的攔截器為什麼會靠後執行?
- 執行緒崩潰為什麼不會導致 JVM 崩潰執行緒JVM
- 初學者疑惑:C語言中,函式反覆呼叫會有什麼問題?C語言函式
- Winform同步呼叫非同步函式死鎖原因分析、為什麼要用非同步ORM非同步函式
- 為什麼阿里巴巴不建議在for迴圈中使用"+"進行字串拼接阿里字串
- 為什麼阿里巴巴不建議在for迴圈中使用”+”進行字串拼接阿里字串
- 為什麼說執行緒太多,cpu切換執行緒會浪費很多時間?執行緒
- js 跳出迴圈/結束遍歷的方法JS
- 非同步函式async await在wpf都做了什麼?非同步函式AI
- 為什麼有時候spring mvc的interceptor會執行兩次SpringMVC
- Python 為什麼不設計 do-while 迴圈結構?PythonWhile