처음 이 용어를 들었을 때 별도의 스레드를 사용하여 동일한 작업을 수행하고 있다고 생각했습니다. 그렇다면 왜 이 두 용어가 필요한가요?
그러나 사실 이 두 용어와 작동 방식 사이에는 큰 차이가 있습니다.
자세히 설명하도록 노력하겠습니다.
이 둘의 공통점은
웹 워커
서비스 종사자
서비스직 생애주기
1. 등록
if ('serviceWorker' in navigator) { // wrap it in try/catch / promisses await navigator.serviceWorker.register('/service-worker.js') }
2. 설치
아래 코드는 service-worker.js
에 작성해야 합니다.
self.addEventListener('install', (event) => { // do your operations })
3. 활성화
self.addEventListener('activate', (event) => { // Do your Operation })
4. 유휴
5. 가져오기/메시지
self.addEventListener('fetch', (event) => { // Do your Opeation })
6. 종료
서비스 종사자들을 아주 오랫동안 유지시켜 줄 것입니다.
예:-
Chrome에서 이 링크를 열면 많은 서비스 워커가 걸려 있는 것을 볼 수 있으며 검사/시작 및 메시지 보내기와 같은 많은 작업을 수행할 수 있습니다.
chrome://serviceworker-internals/
브라우저가 닫혀 있어도 서비스 작업자를 깨울 수 있는 방법.
참고:-
이를 위해 푸시를 사용하여 깨울 수 있지만 이 경우 브라우저에 알림 권한을 부여해야 합니다. 그렇지 않으면 방법이 없습니다.
브라우저가 아직 열려 있는 경우에는 다른 방법이 적합합니다
1. 이벤트 가져오기
self.addEventListener('fetch', event => { // Handle fetch event });
2. 메시지
self.addEventListener('message', (event) => { // Handle message Event })
3. 푸시
self.addEventListener('push', (event) => { // Handle Push Event })
4. 동기화 이벤트
self.addEventListener('sync', (event) => { // handle background Sync Event })
참고자료
위 내용은 웹 워커와 서비스 워커의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!