、私はそれを初期化しています取引RAM
今日など、それらの名前を変更するようないくつかのことを行うそれらの内容を読み取ることができます次のように:
return new Promise((resolve, reject) => {
glob("path/for/files/**/*", {
nodir: true
}, (error, files) => {
files = files.map((file) => {
// properties like full name, basename, extension, etc.
});
resolve(files);
});
});
をだから、私は、アレイ内のすべてのファイルを返し、特定のディレクトリの内容を読み、その配列を反復処理し、プロパティを持つオブジェクトのパスを変更するArray.mapを使用しています。
時々私は200.000のテキストファイルを扱うことがあるので、RAMが多すぎるので問題になっています。
だから、私は怠惰な読み込みで構築関数に置き換えたいですが、私は前にそれをしたことがないので...私は助けの手を探しています。
私のコードです:
class File {
constructor(path) {
this.path = path;
}
extension() {
return path.extname(this.path);
}
// etc
}
だから、私のメインの質問です:私は性の評価を返さなければならない、または私はそれを交換する必要がありますか?このように:
extension() {
this.extension = path.extname(this.path);
}
私はこれがトレードオフであることを理解しています。私はCPU使用量によってメモリを交換するつもりです。
ありがとうございます。
どのクラスを使用して*いない*についてのでしょうか?単純なオブジェクトにファイルデータを保存できませんか? – MaxArt
私はファイルをオブジェクトの配列に格納していますが、オブジェクトはどれですか。私はメモリ使用量を改善するためにクラスを変更したい。 –
@FXAMNなぜクラスがメモリ使用量を減らすと思いますか? – Raito