ライブラリは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-fs
NPMパッケージ: vow
リポジトリ: https : //github.com/dfilatov/jspromise