Я новичок в PWA и тестирую свой проект PWA с использованием базы данных консоли Firebase.В автономном режиме у меня есть код для сохранения моих данных поста в indexedDB
, когда я отправляю свои данные поста позже, когда есть WiFi (онлайн).Он сохранил данные в indexedDB
, когда WiFi не обнаружен, но когда я включаю свой WiFi, он не публикует мои данные в режиме реального времени.Когда я отправляю новые данные публикации, когда Wi-Fi включен (онлайн), фоновые коды синхронизации отправляют сохраненные данные из indexedDB
с новыми данными в реальном времени.Но я хочу, чтобы мои коды фоновой синхронизации отправлялись автоматически при включении WiFi (после автономного режима).
Вот мой код работника сервиса для фоновой синхронизации:
self.addEventListener('sync', function(event) {
console.log('Background syncing...', event);
if (event.tag === 'sync-new-posts') {
console.log('Syncing new Posts...');
event.waitUntil(
readAllData('sync-posts') // function to read all saved data which had been saved when offline
.then(function(data) {
for (var dt of data) {
fetch('xxx some firebase post url xxx', { // fetching for sending saved data to firebase database
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
id: dt.id,
title: dt.title,
content: dt.content
})
})
.then(function(res) {
console.log('Sent data', res);
if (res.ok) {
res.json()
.then(function (resData) {
deleteItemFromData('sync-posts', resData .id); // function for deleting saved post data from indexedDB as we donot need after realtime post is saved when online.
});
}
})
.catch(function(err) {
console.log('Error while sending data', err);
});
}
})
);
}
});
Я не знаю, что пошло не так.Если кому-то понадобится больше моих кодов моих почтовых или сервисных кодов для большей ясности, пожалуйста, спросите.Пожалуйста, помогите мне с этим, так как я застрял в этом.