将资源文件中的日期值保存在本地存储中,并使用 crossrider 从 background.js 中检索

Save a date value in local storage from a resource file and retrieve from background.js using crossrider

我需要将特定操作的日期值从资源文件保存到本地存储中。日期值应定期与后台当前日期进行比较。我在资源文件中用来存储日期值的代码是

var x = new Date();
var enableDate = x.getFullYear()+"-"+(x.getMonth()+1)+"-"+x.getDate();
appAPI.db.async.set("ext_enable_date",enableDate);

我用来从 'background.js' 检索保存日期的代码是

var enDate = appAPI.db.get("ext_enable_date");

但我在 'enDate' 中得到空值。我怎样才能让它正确?任何帮助将不胜感激。

Crossrider框架提供了2种本地存储,如下:

  • appAPI.db - 用于保存小数据(整数、布尔值和大约 10 个字符的短字符串)的同步数据库
  • appAPI.db.async - 一个a用于保存更大数据的同步数据库

存储空间完全不同,一个无法访问另一个。因此,代码的问题在于它使用异步方法 (async.set) 保存日期,然后尝试使用同步方法 (get ).

由于您的数据较小,使用同步方式简单解决:

var x = new Date();
var enableDate = x.getFullYear()+"-"+(x.getMonth()+1)+"-"+x.getDate();
appAPI.db.set("ext_enable_date",enableDate);
var enDate = appAPI.db.get("ext_enable_date");

[披露:我是 Crossrider 员工]