使用承諾延遲
內建函式 setTimeout
使用回呼。建立一個基於承諾的替代方案。
函式 delay(ms)
應傳回一個承諾。該承諾應在 ms
毫秒後解析,以便我們可以像這樣加入 .then
function delay(ms) {
// your code
}
delay(3000).then(() => alert('runs after 3 seconds'));
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
delay(3000).then(() => alert('runs after 3 seconds'));
請注意,在此任務中,resolve
是在沒有參數的情況下呼叫的。我們不會從 delay
傳回任何值,只確保延遲。