setTimeout在普通任務後面執行

2021-06-26 11:58:00 字數 853 閱讀 8362

實驗證明,settimeout任務永遠在普通任務後面執行,當執行乙個較為久的任務時可以將其放入到settimeout()中,讓其延後執行
function a(),0);

sleep(5000);

alert("普通任務");

}a();

function sleep(ms)

}

下面更加助於理解的乙個例子:

function a(),10000);

settimeout(function(),5000);

console.log("start "+ new date());

sleep(5000);

console.log("普通任務"+ new date());

} a();

function sleep(ms)

}

結果如下:

換一下順序:

function a(),5000);

console.log("start "+ new date());

sleep(5000);

console.log("普通任務"+ new date());

settimeout(function(),10000);

} a();

function sleep(ms)

}

結果為:

這就好理解了,程式還是按順序執行的,只不過遇到settimeout時,等待設定的時間後,看佇列中有沒有在執行的任務,如果沒有,則加入佇列,並執行,如果有,則等待佇列中的任務執行完了在加入執行。

PHP 處理最普通的 XML 任務

xml 處理最普通的 xml 任務,其餘的任務則交由其它擴充套件。xml 是 php 5 中的新特性。在了解 xml 文件 layout 的情況下,它是一種取得元素屬性和文字的便利途徑。與 dom 或 expat 解析器相比,xml 僅僅用幾行 就可以從元素中讀取文字資料。xml 可把 xml 文件...

普通使用者 crontab 任務不執行

今天發如今linux下,普通使用者的crontab任務不執行。網上搜了好多。好多說要在執行的指令碼前面加上例如以下內容 if f bash profile then bash profile fi加了之後測試,沒有不論什麼作用。不知道是不是僅僅有執行指令碼在使用者根資料夾才有作用。最後發現要在指令碼...

在普通類中使用Spring注入

在編寫工具類 提供方法的時候由於要注入service層,在編寫的時候發現service層類注入失敗,由於普通類不是通過spring進行管理的,所有注入service會失敗。所以可以採用下面的方法。springtool需要加到spring配置中,如果採用自動掃瞄需要將springtool宣告為元件。新...