
7 백그라운드 동기화를 통한 오프라인 기능 보장
- 219
var likePost
=
function
(
postId
)
{
navigator
.
serviceWorker
.
ready
.
then
(
function
(
registration
)
{
registration
.
sync
.
register
("
like
-
post
-"
+
postId
);
});
};
동기화 이벤트를 처리하는 코드도 복잡하지 않습니다. 이벤트 이름이 "
like
-
post
-"로 시작하는지 확인하고, 이벤트 이름에서 ‘좋아요’ 표시를 할 포스트
ID
를 추출하는 방법으로 코드를 간단하게 유지할수 있습니다.
self
.
addEventListener
("
sync
",
function
(
event
)
{
if
(
event
.
tag
.
startsWith
("
like
-
post
-"))
{
event
.
waitUntil
(
function
()
{
var postId
=
event
.
tag
.
slice
(
10
);
return fetch
("/
like
-
post
?
id
="
+
postId
);
});
}
});
7.4
앱에 백그라운드 동기화 추가하기
백그라운드 동기화에 대해 기본적인 이해도를 갖췄으니, 이제 고담 임페리얼 호텔
웹 앱에 직접 적용해 볼 시간입니다.
My
Account
(
내 계정
)
페이지 상단에는 사용자가 새 예약을 만들 수 있는 폼
이 있습니다. 사용자가 ...