私の同僚であるDmitry
Filatov dfilatovによって書かれた
Vowライブラリに注目したいと思います。
ライブラリは
Promises / A +を実装し、非常に高速に動作し、少量のメモリを必要とします。 パフォーマンステストによると、これは
Qよりはるかに進んでいますが、同時に非同期の作業方法を保持しています。
Vowでの作業は、
Qでの作業と同じくらい簡単です
。 (
Qと比較して)欠点のうち、
進歩の欠如のみを強調することができます。
Vowを使用したサンプルコード:
function readFile(filename, encoding) { var promise = Vow.promise(); fs.readFile(filename, encoding, function(err, data) { if (err) return promise.reject(err); promise.fulfill(data); }); return promise; } Vow.all([readFile('test1.txt', 'utf8'), readFile('test2.txt', 'utf8')]).then(function(results) { console.log(results.join('\n')); });
Qライブラリーの速度を反映するベンチマーク(順次プロミスの作成がテストされています):
| 時間 | 1秒あたりの操作 |
---|
Q | 54.891ms | 18 |
いつ | 3.484ms | 287 |
誓い | 1.158ms | 864 |
また、ファイルシステムを操作するためのライブラリがVowに実装されています:
vow-fs :
https :
//github.com/dfilatov/vow-fsNPMパッケージ:
vowリポジトリ:
https :
//github.com/dfilatov/jspromise