0
所以我無法從模塊的構造函數返回一個值。 我從字面上不知道如何將值返回給構造函數。從纖維內部返回一個值(nodejs)
我希望代碼是不言自明的,我希望構造函數返回哈希變量。
var Fiber = require('fibers');
var Future = require('fibers/future'), wait = Future.wait;
var fs = require('fs')
var crypto = require('crypto')
exports.cryptFile = function(fileName, callback){
var crypt = crypto.createHash('md5');
var stream = fs.ReadStream(fileName, {
bufferSize: 1024 * 1024
});
stream.on('data', function(data) {
crypt.update(data)
});
stream.on('error', function(err) {
callback(err);
});
stream.on('end', function(){
var digest = crypt.digest('hex')
callback(null, digest);
});
}
var cryptFileFuture = Future.wrap(this.cryptFile);
module.exports = function(filename){
var future = new Future;
Fiber(function(){
hash = cryptFileFuture(filename).wait();
console.log(hash);
future.return(hash);
});
return future;
// return hash;
}
我想你可能只是從光纖末端缺失。運行()。 https://github.com/laverdet/node-Fibers – Jake