在 JavaScript 中,異步編程是一種處理可能需要一定時間才能完成的任務的方法,而不會阻塞其他代碼的執行。任務調度是指在一定的時間間隔或滿足某個條件時執行某個任務。您可以使用 setTimeout、setInterval 和 Promise 等方法實現 JavaScript 異步編程和任務調度。
setTimeout 是 JavaScript 中最基本的方法之一,用于在指定的延遲(以毫秒為單位)后執行一個函數。
示例:
function task() {
console.log('Task executed');
}
setTimeout(task, 3000); // 在 3 秒后執行 task 函數
console.log('Other tasks...');
setInterval 方法類似于 setTimeout,不同之處在于它會按照指定的時間間隔重復執行一個函數。
示例:
function task() {
console.log('Task executed');
}
const interval = setInterval(task, 3000); // 每隔 3 秒執行一次 task 函數
// 在某個條件滿足時取消調度
// clearInterval(interval);
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();
這些方法可以根據您的需求進行組合和擴展,以實現更復雜的任務調度。