Javascript 如何从firebase获取PWA的数据

Javascript 如何从firebase获取PWA的数据,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我想创建一个PWA,在其中我从firebase获取数据。加载页面后,将从firebase检索广告(以对象的形式),然后显示广告。我想要的是,一旦加载页面,如果用户失去连接或处于脱机状态,缓存将存储在用户建立连接时加载的所有对象,并使它们可供脱机使用,即不连接到internet 这是我在服务人员中使用的代码 var cacheName = 'test me'; const filesToCache = [ './', 'home.html', 'details.html', '/css/main

我想创建一个PWA,在其中我从firebase获取数据。加载页面后,将从firebase检索广告(以对象的形式),然后显示广告。我想要的是,一旦加载页面,如果用户失去连接或处于脱机状态,缓存将存储在用户建立连接时加载的所有对象,并使它们可供脱机使用,即不连接到internet

这是我在服务人员中使用的代码

var cacheName = 'test me';
const filesToCache = [
'./',
'home.html',
'details.html',
'/css/main.css',
'/css/home.css',
'/images/nokia.png',
'/js/app.js',
'/js/main.js',
'/js/home.js'
 ];   

self.addEventListener('install', (event) => {
event.waitUntil(
    caches.open('v1')
        .then(res => {
            console.log('wait.........!')
            return res.addAll(filesToCache);
        })
);
console.log('installed');
});

self.addEventListener('activate', (event) => {
console.log('activated');
});
您可以使用以下选项:

const url = '/myAPI/endpoint'
fetch(url).then((res) => {
  return caches.open('v1').then((cache) => {
    return cache.put(url, res)
  })
})
要检索它,请执行以下操作:

caches.open('v1').then((cache) => {
  cache.match('/myAPI/endpoint').then((res) => {
    //res is the Response Object
  })
})

您可以在这里找到更多信息:

如何从firebase获取数据,然后将其添加到缓存中,我是缓存和获取的新手。谢谢,我认为Firebase在这个主题上有一个相当不错的文档:还有一些例子:我认为你问的问题比如何在缓存中保存数据要广泛一些。希望它能帮上忙!