我无法从nodejs函数获取返回值以发布请求。我需要generateHash“响应”,并希望在“hashVal”存储在上述职位要求无法在nodejs函数中返回值
app.post('/filehash', function(req, res) {
var filePath = req.body.filePath;
if (!filePath) {
res.json(getErrorMessage('\'filePath\''));
return;
}
var hashVal = fileHash.generateHash(filePath);
logger.info('hashVal---->>>> '+hashVal);
res.send(hashVal);
});
var generateHash = function(filePath) {
var algo = 'md5';
var shasum = crypto.createHash(algo);
var response = '';
var s = fs.ReadStream(filePath);
s.on('data', function(d) { shasum.update(d); });
s.on('end', function() {
var d = shasum.digest('hex');
logger.debug('\n====== Creating filehash \'' + d + '\' ======\n');
console.log(d);
response=d;
return response;
});
};