11
https://stackoverflow.com/a/18658613/779159是如何使用內置加密庫和流計算文件的md5的示例。如何使用ES8異步/等待與流?
var fs = require('fs');
var crypto = require('crypto');
// the file you want to get the hash
var fd = fs.createReadStream('/some/file/name.txt');
var hash = crypto.createHash('sha1');
hash.setEncoding('hex');
fd.on('end', function() {
hash.end();
console.log(hash.read()); // the desired sha1sum
});
// read all file and pipe it (write it) to the hash object
fd.pipe(hash);
但有可能將其轉換爲使用異步ES8 /等待而不是使用回調如上可見,但同時仍保持使用流的效率?
'異步/ await'也不過是承諾語法層面的支持。如果您可以將此代碼放在承諾中,那麼您就完成了。 –