Comment utiliser ES8 async/await avec des cours d'eau?

Dans https://stackoverflow.com/a/18658613/779159 est un exemple de la façon de calculer le md5 d'un fichier à l'aide de l'intégré dans la librairie de cryptographie et de ruisseaux.

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);

Mais est-il possible de convertir ce à l'aide de ES8 async/await au lieu d'utiliser la fonction de rappel comme vu ci-dessus, mais tout en gardant l'efficacité de l'aide de flux?

async/await n'est rien, mais la syntaxe de support au niveau de promesses. Si vous pouvez mettre ce code à l'intérieur d'une promesse, alors vous êtes fait.

OriginalL'auteur user779159 | 2015-11-08