1

我有一个数组(实际上是来自alasql github的数据库数据),我想在脚本中“写入”或“读取”时运行一个函数。

“书面”代表pushpull以及赋值运算符,如=

而“读取”代表直接访问数组值,如array(整个数组)、array[0](数组的元素)等,以及读取属性,如array.length

实际上,我使用这些功能来访问localStorage.

我已经阅读了这个 stackoverflow 问题,但我仍然没有自己的解决方案,因为我在这里有一些限制。

  1. 我不仅要监视,而且push()覆盖推送方法对我不起作用。=
  2. 该数组实际上是由 javascript 库创建的alasql,我不打算更改库代码,因为它可能是一项艰巨的任务,因此无法创建自定义的 observable 数组。
  3. 库直接访问数组作为SQL语句的存储SQL表的数据,所以不能使用代理
  4. 我的脚本将firefox在至少 10 年前购买的运行 xp 的慢速计算机上运行,​​该计算机具有 < 1GB RAM 和单核 CPU 之类的硬件,实际上是 SQL 表的数组将具有 10000 个条目之类的条目,因此阵列是性能要求。如果我在 github 上使用像underscore-observe 这样的库,它依赖于每 250 毫秒扫描一次,那台愚蠢的计算机就会死机。
  5. 在 github 上使用smart-collection 。好吧,我实际上不知道那个答案和 github 上的自述文件在谈论什么,但我认为它不会起作用,因为我必须为它创建另一个数组(?)
  6. 使用github 自述文件上的localStorage引擎,很好,这可能是最初最好的,我试过了。但是当我发现它的一个错误阻碍了我的工作时,我决定离开它。alasql

如果有人能给我一个关于如何做到这一点的解决方案,我会很高兴,因为到目前为止,这是我项目中的一个主要和大问题。

PS:我的项目是开发一个单一的 HTML 页面,该页面运行一个类似 POS 的系统,具有 SQL 的销售和借用功能,并且它将在一台没有互联网连接的愚蠢的旧电脑上运行。

4

0 回答 0