在 JavaScript 中,异步编程是一种处理可能需要一定时间才能完成的任务的方法,而不会阻塞其他代码的执行。任务调度是指在一定的时间间隔或满足某个条件时执行某个任务。您可以使用 setTimeout、setInterval 和 Promise 等方法实现 JavaScript 异步编程和任务调度。
- 使用 setTimeout
setTimeout 是 JavaScript 中最基本的方法之一,用于在指定的延迟(以毫秒为单位)后执行一个函数。
示例:
function task() { console.log('Task executed'); } setTimeout(task, 3000); // 在 3 秒后执行 task 函数 console.log('Other tasks...');
- 使用 setInterval
setInterval 方法类似于 setTimeout,不同之处在于它会按照指定的时间间隔重复执行一个函数。
示例:
function task() { console.log('Task executed'); } const interval = setInterval(task, 3000); // 每隔 3 秒执行一次 task 函数 // 在某个条件满足时取消调度 // clearInterval(interval);
- 使用 Promise 和 async/await
Promise 是一种更高级的异步编程方法,可以用于处理更复杂的异步操作。async/await 是基于 Promise 的语法糖,使得异步代码更像同步代码。
示例:
function delay(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } async function taskScheduler() { console.log('Task 1 started'); await delay(3000); console.log('Task 1 completed'); console.log('Task 2 started'); await delay(1000); console.log('Task 2 completed'); } taskScheduler();
这些方法可以根据您的需求进行组合和扩展,以实现更复杂的任务调度。