alasql
配列 (実際にはgithubのデータベース データ) があり、スクリプトで "書き込み" または "読み取り" されたときに関数を実行したいと考えています。
「書かれた」は、を表し、push
代入演算子は、pull
=
array
「読み取り」は、(配列全体)、 (配列の要素)などの配列値への直接アクセスarray[0]
、および次のようなプロパティの読み取りを表しますarray.length
実際には、これらの関数を使用して にアクセスしlocalStorage
ます。
私はすでにこのstackoverflowの質問を読みましたが、ここにはいくつかの制限があるため、まだ独自の解決策がありません.
- だけで
push()
なく、監視する必要が=
あるため、プッシュメソッドをオーバーライドしても機能しません。 - その配列は実際には JavaScript ライブラリによって作成され
alasql
ます。ライブラリ コードを変更するつもりはありません。これは非常に大きな作業になる可能性があるためです。カスタムの監視可能な配列を作成することはできません。 - ライブラリは、SQL テーブルのデータを格納するため、SQL ステートメントの配列に直接アクセスするため、proxyを使用することはできません。
- 私のスクリプトは
firefox
、少なくとも 10 年前に 1GB 未満の RAM とシングルコア CPU のようなハードウェアを備えた xp を実行している低速のコンピューターで実行され、実際に SQL テーブルである配列には 10000 エントリのようなエントリが含まれます。配列にはパフォーマンスが必要です。250 ミリ秒ごとのスキャンに依存するgithubの underscore-observe の ようなライブラリを使用すると、その愚かなコンピューターは単に死んでしまいます。 - github でsmart-collection を使用します。ええと、実際にはその答えとgithubのreadmeが何について話しているのかわかりませんが、別の配列を作成する必要があるため、うまくいくとは思いません(?)
- github readmeのlocalStorageエンジンを使用してください。これが最初は最適である可能性があり、試してみました。しかし、私の仕事を妨げるバグを見つけたとき、私はそれを残すことにしました。
alasql
これまでのところ、私のプロジェクトの主要かつ大きな問題であるため、トリックを実行する方法について誰かが解決策を教えてくれれば幸いです。
PS: 私のプロジェクトは、SQL を使用した売りと借りの機能を備えた POS のようなシステムを実行する単一の HTML ページを開発することです。これは、インターネットに接続されていない古いコンピューターで実行されます。