quartz/content/computer_sci/coding_knowledge/js/setTimeout.md
2024-04-10 17:18:11 +08:00

929 B
Raw Blame History

title tags date
setTimeout
javascript
advanced
2024-04-10

setTimeoutPromise息息相关,有关内容可见Promise in JS

同时,本身setTimeout也值得一讲

Working Principle

  • 当调用 setTimeout 时,它启动一个计时器,并设置它在指定的延迟后运行。
  • 在延迟到期后JavaScript事件循环将指定的函数放入执行队列。
  • 一旦调用堆栈为空,函数就会被执行,其中的任何相关代码都会运行。
  • 如果在延迟到期之前取消了 setTimeout 函数,计划的函数将不会被执行。
function delayedFunction() {
  console.log("延迟函数执行!");
}

const delay = 2000;

const timerId = setTimeout(delayedFunction, delay);

// 在延迟到期之前取消执行:
clearTimeout(timerId);

因此这样的一段代码可以取消setTimeout schedule的执行