Выгрузка в хранилище Firebase во время сбоя фоновой синхронизации Service Worker - PullRequest
0 голосов
/ 03 ноября 2019

Я хочу использовать функцию Фоновая синхронизация Service Worker , чтобы пользователи могли загружать файлы в Google Firebase Storage в фоновом режиме с помощью сервисного работника. Таким образом, даже если они не в сети, они могут начать загрузку, и она автоматически выполнит загрузку, как только они подключатся к Интернету, даже если они закроют приложение.

Но я не могу заставить загрузку Firebase Storage работать,Он всегда вылетает со ссылкой на XMLHttpRequest is not defined

Вот код работника службы.

// sw.js
importScripts("/__/firebase/7.2.3/firebase-app.js");
importScripts("/__/firebase/7.2.3/firebase-auth.js");
importScripts("/__/firebase/7.2.3/firebase-storage.js");
importScripts("/__/firebase/init.js");

self.addEventListener("sync", function(event) {
  console.log("Current User (SW): " + firebase.auth().currentUser.uid);
  var fileRef = firebase.storage().ref("sw-" + Date.now().toString());
  event.waitUntil(fileRef.putString("Hello World!"));
});

И вот такой вывод я получаю:

Current User (SW): XdDYkvVjy2S0JylKqvME5qyJ9ey2
xhrio_network.ts:32 Uncaught ReferenceError: XMLHttpRequest is not defined
    at new H (xhrio_network.ts:32)
    at G.createXhrIo (xhriopool.ts:29)
    at request.ts:127
    at backoff.ts:65

Если я делаю то же самое на стороне «клиента» или «страницы», то есть не от Service Worker, этот точно такой же код работает отлично, и файл загружается в Firebase Storage.

Есть лиМожно ли заставить Firebase Storage работать на Service Worker, используя Firebase Auth управляющей страницы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...