微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的缓存 API 在 React PWA 中不起作用

如何解决我的缓存 API 在 React PWA 中不起作用

我已将 API 缓存在我的 sw.js 文件中。在离线模式下,开发人员工具中的“我的网络”选项卡显示获取我的 API,尽管我的缓存文件中存在我的 API。

我的 sw.js 文件

console.log("Registered")

//CHACHE ALL FILES
let cacheData = "appv1"
this.addEventListener('install',(event) => {
    event.waitUntil(
        caches.open(cacheData).then((data) => {
            data.addAll([
                '/static/js/bundle.js','/static/js/vendors~main.chunk.js','/static/js/main.chunk.js','/static/js/0.chunk.js','/favicon.ico','/sockjs-node','index.html','/manifest.json','https://opentdb.com/api.PHP?amount=10&difficulty=easy&type=multiple','/','/logo192.png',]).then((succ) => {
                console.log(
                    "Cached All files",succ
                )
            }).catch((err) => {
                console.log('catch Error',err)
            })
        })
    )
})
self.addEventListener('activate',function (event) {
    console.log('[PWA Builder] Claiming clients for current page');
    return self.clients.claim();
});
// //FETCH ALL IN OFFLINE MODE
self.addEventListener('fetch',function (event) {
    console.log(event.request.url);
    if (!navigator.onLine) {


        //FETCHNG IN OFFLINE MODE
        event.respondWith(
            caches.match(event.request).then((response) => {
                if (response) {
                    return response
                }
                let requestUrl = event.request.clone()
                fetch(requestUrl).then((res) => {
                    console.log(res)
                }).catch((err) => {
                    console.log('RES URL',requestUrl)
                    console.log(err)
                })

            })
        )
    }
});

我的缓存文件

Cached Files Img

离线模式下的我的网络标签

Network tab Img

我的 err msg

err msg

的响应控制台日志

我无法从 api 获得最终结果,我的应用程序处于加载状态

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?