Browser Extensions Development (Chrome & Edge) · Pelajaran

Menjadwalkan Tugas dengan API Alarms

Jalankan pekerjaan latar belakang berkala dan tertunda dengan andal dalam service worker Manifest V3 menggunakan chrome.alarms.

Pelajaran 4 dari 413 langkah

Menjadwalkan Tugas dengan API Alarms adalah pelajaran Browser Extensions Development (Chrome & Edge) gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Browser Extensions Development (Chrome & Edge), dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Browser Extensions Development (Chrome & Edge) mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Why Not setInterval

In Manifest V3 the service worker unloads when idle, so setTimeout and setInterval are unreliable for scheduled work. The alarms API survives this by waking the worker when it is time to run.

Declaring the Permission

Add the alarms permission to the manifest before using the API.

{
  "permissions": ["alarms"]
}

Creating a One-Time Alarm

Use alarms.create with delayInMinutes for a single delayed task.

chrome.alarms.create('cleanup', { delayInMinutes: 5 })

Creating a Repeating Alarm

Add periodInMinutes to make the alarm fire again and again on a schedule.

chrome.alarms.create('sync', { periodInMinutes: 30 })

Handling the Alarm

Listen for onAlarm at the top level of your service worker. The alarm object tells you which one fired.

chrome.alarms.onAlarm.addListener((alarm) => {
  if (alarm.name === 'sync') {
    doSync()
  }
})

Register Listeners at the Top Level

Because the worker restarts, register onAlarm synchronously when the script first runs, not inside an async callback, or the wake-up may be missed.

// top of background.js, runs on every wake
chrome.alarms.onAlarm.addListener(handleAlarm)

Minimum Period

For packed extensions the smallest repeating period is about one minute. Shorter intervals are clamped, so do not rely on second-level timing.

chrome.alarms.create('tick', { periodInMinutes: 1 })

Inspecting Alarms

Use alarms.get or alarms.getAll to check what is scheduled, useful for avoiding duplicates.

const a = await chrome.alarms.get('sync')
if (!a) chrome.alarms.create('sync', { periodInMinutes: 30 })

Clearing Alarms

Remove a single alarm with clear or all of them with clearAll when a feature is turned off.

chrome.alarms.clear('sync')
chrome.alarms.clearAll()

Recreating on Install

Set up your alarms in the onInstalled event so they exist from the moment the extension is installed or updated.

chrome.runtime.onInstalled.addListener(() => {
  chrome.alarms.create('sync', { periodInMinutes: 30 })
})

Keeping Work Short

The worker may unload soon after the alarm. Keep the task quick, persist state to storage, and avoid long-running loops that could be cut off.

Quick Check

Test your alarms knowledge.

Recap

You learned reliable scheduling:

  • Use alarms.create with delay or period
  • Handle onAlarm registered at the top level
  • Respect the ~1 minute minimum period
  • Inspect, clear, and recreate alarms
  • Keep alarm work short

The alarms API makes background scheduling dependable under Manifest V3.

Gratis untuk memulai

Belajar JavaScript dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
48

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menjadwalkan Tugas dengan API Alarms” gratis?

Ya — teks lengkap “Menjadwalkan Tugas dengan API Alarms” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Browser Extensions Development (Chrome & Edge), upgrade ke CoddyKit PRO. Kursus Browser Extensions Development (Chrome & Edge) mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menjadwalkan Tugas dengan API Alarms”?

Jalankan pekerjaan latar belakang berkala dan tertunda dengan andal dalam service worker Manifest V3 menggunakan chrome.alarms. Kamu berlatih Browser Extensions Development (Chrome & Edge) dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Browser Extensions Development (Chrome & Edge)?

Tidak diperlukan pengalaman sebelumnya. Browser Extensions Development (Chrome & Edge) di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Menjadwalkan Tugas dengan API Alarms” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Browser Extensions Development (Chrome & Edge) ini?

Ya. Setiap pelajaran Browser Extensions Development (Chrome & Edge) menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pengelolaan dan Pengendalian Tab
  2. Pengiriman Formulir secara Terprogram
  3. Mengotomatiskan Interaksi Pengguna
  4. Menjadwalkan Tugas dengan API Alarms
← Kembali ke Browser Extensions Development (Chrome & Edge)