存储客户端数据,使其可供 Service Worker 使用

use*_*013 5 offline-caching service-worker

在我的node.js 聊天应用程序中,我想在离线模式下保存聊天数据并在在线时推送通知。基本的聊天应用程序已完成。我正在将ws节点模块用于服务器代码。在客户端代码中,我想使用Service Worker来存储离线数据。我做了一些功课https://jakearchibald.com/2014/offline-cookbook/ https://ole.michelsen.dk/blog/making-an-offline-webapp-with-service-workers.html,但我我想我不明白如何将聊天数据存储在Service Worker离线数据中。

Jef*_*ick 5

IndexedDB是一个通用数据库,可在服务工作线程和主网页上下文中的客户端使用。我建议使用它来存储聊天消息等数据。

有许多库包装了 IndexedDB 以使界面更加友好。相对较新的一个,idb具有提供基于 Promise 的接口的优点,当从 Service Worker 使用 IndexedDB 时,它会派上用场,因为那里的大量异步代码已经是基于 Promise 的。