返回介绍

驱动 API

发布于 2020-08-02 13:52:33 字数 2341 浏览 1180 评论 0 收藏 0

1.1版开始,就可以为 localForage 自定义驱动了。

defineDriver

// 此处为驱动的实现
var myCustomDriver = {
    _driver: 'customDriverUniqueName',
    _initStorage: function(options) {
        // 在此处自定义实现...
    },
    clear: function(callback) {
        // 在此处自定义实现...
    },
    getItem: function(key, callback) {
        // 在此处自定义实现...
    },
    key: function(n, callback) {
        // 在此处自定义实现...
    },
    keys: function(callback) {
        // 在此处自定义实现...
    },
    length: function(callback) {
        // 在此处自定义实现...
    },
    removeItem: function(key, callback) {
        // 在此处自定义实现...
    },
    setItem: function(key, value, callback) {
        // 在此处自定义实现...
    }
}

// 为 localForage 添加驱动。
localforage.defineDriver(myCustomDriver);

你需要确保接受一个 callback 参数,并且将同样的几个参数传递给回调函数,类似默认驱动那样。同时你还需要 resolve 或 reject Promise。通过 默认驱动 可了解如何实现自定义的驱动。

自定义实现可包含一个 _support 属性,该属性为布尔值(true / false) ,或者返回一个 Promise,该 Promise 的结果为布尔值。如果省略 _support,则默认值是 true 。你用它来标识当前的浏览器支持你自定义的驱动。

driver

localforage.driver();
// "asyncStorage"

driver()

返回正在使用的驱动的名称,在异步的驱动初始化过程中(详情参阅 ready)为 null,若初始化未能找到可用的驱动也为 null

ready

localforage.ready().then(function() {
    // 当 localforage 将指定驱动初始化完成时,此处代码运行
    console.log(localforage.driver()); // LocalStorage
}).catch(function (e) {
    console.log(e); // `No available storage method found.`
    // 当没有可用的驱动时,`ready()` 将会失败
});

ready() 提供了一种方法来确定异步驱动程序初始化过程是否已完成,localForage 会对所有数据 API 方法的调用进行缓冲排序。当我们需要知道 localForage 当前正在使用的是哪一个驱动时,此方法会非常有用。

supports

localforage.supports(localforage.INDEXEDDB);
// true

supports(driverName)

返回一个布尔值,表示浏览器是否支持 driverName

默认驱动名称可参阅 setDriver

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文