Apabila saya mula-mula mendengar tentang istilah ini, saya fikir, okey mereka melakukan perkara yang sama dengan urutan berasingan mereka. Kemudian Mengapa kita memerlukan 2 istilah ini?
Tetapi sebenarnya terdapat perbezaan besar antara 2 istilah ini dan cara mereka berkelakuan.
Akan cuba terangkan secara terperinci.
Persamaan antara 2 ini ialah
Pekerja Web
Pekerja Perkhidmatan
Kitaran Hidup Pekerja Perkhidmatan
1. Pendaftaran
if ('serviceWorker' in navigator) { // wrap it in try/catch / promisses await navigator.serviceWorker.register('/service-worker.js') }
2. Pemasangan
kod di bawah yang perlu kita tulis dalam service-worker.js
self.addEventListener('install', (event) => { // do your operations })
3. Pengaktifan
self.addEventListener('activate', (event) => { // Do your Operation })
4. Terbiar
5. ambil/Mesej
self.addEventListener('fetch', (event) => { // Do your Opeation })
6. Penamatan
Ia akan mengekalkan pekerja perkhidmatan untuk masa yang sangat lama.
Contoh:-
dalam chrome Buka pautan ini di sana anda akan melihat banyak pekerja perkhidmatan tergantung, dan anda boleh melakukan banyak perkara seperti, Memeriksa/memulakan dan menghantar mesej.
chrome://serviceworker-internals/
Bagaimana kita boleh pekerja Wake Up Service walaupun Penyemak Imbas ditutup.
Nota:-
Untuk khusus ini kita boleh menggunakan push untuk bangun, tetapi untuk penggunaan ini mesti memberikan kebenaran Pemberitahuan kepada Penyemak Imbas, jika tidak, tiada cara.
Cara lain adalah relevan apabila penyemak imbas masih terbuka
1. ambil Acara
self.addEventListener('fetch', event => { // Handle fetch event });
2. Mesej
self.addEventListener('message', (event) => { // Handle message Event })
3. Tolak
self.addEventListener('push', (event) => { // Handle Push Event })
4. Segerakkan Acara
self.addEventListener('sync', (event) => { // handle background Sync Event })
Rujukan
Atas ialah kandungan terperinci Pekerja Web Vs Pekerja Perkhidmatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!