プリロードされたオブジェクトを理解する
各着信リクエストに対して、NJSは別の仮想マシンを作成します。これにより、予測可能なメモリコンサンプションやリクエストの分離など、多くのメリットが生まれます。ただし、すべてのリクエストが分離されているため、リクエストハンドラが一部のデータにアクセスする必要がある場合、それ自体で読み取る必要があります。特にデータ量が大きい場合は効率的ではありません。
この制限に対処するために、プリロードされた共有オブジェクトが導入されました。このようなオブジェクトは不変に作成され、プロトタイプのチェーンを持ちません。つまり、値を変更したり、プロパティを追加したり削除したりすることはできません。
プリロードオブジェクトの使用
NJSでプリロードオブジェクトを使用する方法をいくつか紹介します。
- 名前によるプロパティへのアクセス
preloaded_object.prop_name preloaded_object[prop_name]
- プロパティの列挙
for (i in preloaded_object_name) { ... }
call()
を使用して非変更のビルトインメソッドを適用するArray.prototype.filter.call(preloaded_object_name, ...)