From 45cddf48c92f7c20ca502b1f72ec85ba4421a5c9 Mon Sep 17 00:00:00 2001 From: sujin Date: Fri, 23 Aug 2024 23:57:33 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[ko]=20ExtendableEvent:=20waitUntil()=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=8B=A0=EA=B7=9C=20=EB=B2=88?= =?UTF-8?q?=EC=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/extendableevent/waituntil/index.md | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 files/ko/web/api/extendableevent/waituntil/index.md diff --git a/files/ko/web/api/extendableevent/waituntil/index.md b/files/ko/web/api/extendableevent/waituntil/index.md new file mode 100644 index 00000000000000..73d209d4c38868 --- /dev/null +++ b/files/ko/web/api/extendableevent/waituntil/index.md @@ -0,0 +1,73 @@ +--- +title: "ExtendableEvent: waitUntil() 메서드" +short-title: waitUntil() +slug: Web/API/ExtendableEvent/waitUntil +l10n: + sourceCommit: 2ef36a6d6f380e79c88bc3a80033e1d3c4629994 +--- + +{{APIRef("Service Workers API")}}{{AvailableInWorkers("service")}} + +**`ExtendableEvent.waitUntil()`** +메서드는 이벤트 디스패처에게 작업이 진행 중임을 알립니다. 이 메서드는 +작업의 성공 여부를 감지하는 데에도 사용할 수 있습니다. 서비스 워커에서 `waitUntil()`은 +프로미스가 완료될 때까지 작업이 진행 중임을, 그리고 작업이 완료되기를 원한다면 +서비스 워커를 종료하지 말아야 한다는 것을 브라우저에게 알려줍니다. + +[서비스 워커](/ko/docs/Web/API/ServiceWorkerGlobalScope)의 {{domxref("ServiceWorkerGlobalScope/install_event", "install")}} 이벤트는 +`waitUntil()`을 사용하여 작업이 완료될 때까지 +서비스 워커를 {{domxref("ServiceWorkerRegistration.installing", "installing")}} 단계에 +머무르게 합니다. `waitUntil()`에 전달된 프로미스가 거부되는 경우, install은 +실패로 간주되며 설치 중인 서비스 워커가 삭제됩니다. 이것은 주로 +서비스 워커가 의존하는 모든 핵심 캐시가 성공적으로 채워질 때까지 +서비스 워커가 설치된 것으로 간주되지 않도록 하는 데 사용됩니다. + +[서비스 워커](/ko/docs/Web/API/ServiceWorkerGlobalScope)의 {{domxref("ServiceWorkerGlobalScope/activate_event", "activate")}} 이벤트는 +`waitUntil()`을 사용하여 `waitUntil()`에 전달된 프로미스가 완료될 때까지 +`fetch` 및 `push` 같은 기능적인 이벤트를 일시 중지합니다. 이는 +서비스 워커가 데이터베이스 스키마를 업데이트하고 오래된 {{domxref("Cache", "caches")}}를 삭제할 시간을 제공하므로, +다른 이벤트가 완전히 업그레이드된 상태에 의존할 수 있습니다. + +`waitUntil()` 메서드는 처음에 이벤트 콜백 내에서 호출되어야 하지만, +그 이후에는 전달된 모든 프로미스가 완료될 때까지 여러 번 호출할 수 +있습니다. + +## 구문 + +```js-nolint +waitUntil(promise) +``` + +### 매개변수 + +{{jsxref("Promise")}}. + +### 반환 값 + +없음 ({{jsxref("undefined")}}). + +## 예제 + +서비스 워커의 `install` 이벤트 내에서 `waitUntil()`을 사용하는 예제. + +```js +addEventListener("install", (event) => { + const preCache = async () => { + const cache = await caches.open("static-v1"); + return cache.addAll(["/", "/about/", "/static/styles.css"]); + }; + event.waitUntil(preCache()); +}); +``` + +## 명세서 + +{{Specifications}} + +## 브라우저 호환성 + +{{Compat}} + +## 같이 보기 + +- [서비스 워커 사용하기](/ko/docs/Web/API/Service_Worker_API/Using_Service_Workers) From 0fcd2d6bd77434f55bc2cc8065a916d61e72a7cd Mon Sep 17 00:00:00 2001 From: hochan Lee Date: Mon, 28 Oct 2024 03:09:36 +0900 Subject: [PATCH 2/3] Update files/ko/web/api/extendableevent/waituntil/index.md --- files/ko/web/api/extendableevent/waituntil/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/files/ko/web/api/extendableevent/waituntil/index.md b/files/ko/web/api/extendableevent/waituntil/index.md index 73d209d4c38868..aa47ab223409c2 100644 --- a/files/ko/web/api/extendableevent/waituntil/index.md +++ b/files/ko/web/api/extendableevent/waituntil/index.md @@ -40,7 +40,8 @@ waitUntil(promise) ### 매개변수 -{{jsxref("Promise")}}. +- `promise` + - : 이벤트의 수명을 연장하는 {{jsxref("Promise")}} 객체. ### 반환 값 From 94148659cb4ae2a353cc769ea5e063301d1ada71 Mon Sep 17 00:00:00 2001 From: hochan Lee Date: Mon, 28 Oct 2024 03:09:41 +0900 Subject: [PATCH 3/3] Update files/ko/web/api/extendableevent/waituntil/index.md --- files/ko/web/api/extendableevent/waituntil/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/ko/web/api/extendableevent/waituntil/index.md b/files/ko/web/api/extendableevent/waituntil/index.md index aa47ab223409c2..3ca0357e808b25 100644 --- a/files/ko/web/api/extendableevent/waituntil/index.md +++ b/files/ko/web/api/extendableevent/waituntil/index.md @@ -3,7 +3,7 @@ title: "ExtendableEvent: waitUntil() 메서드" short-title: waitUntil() slug: Web/API/ExtendableEvent/waitUntil l10n: - sourceCommit: 2ef36a6d6f380e79c88bc3a80033e1d3c4629994 + sourceCommit: 20c51db7895b1b6f41d4fa90e71830f4b6678eea --- {{APIRef("Service Workers API")}}{{AvailableInWorkers("service")}}