问题描述
我正在尝试使用crypto编写MD5哈希令牌的标头,然后将其返回作为响应。由于某种原因,它实际上并没有同步运行。我知道JS是一种异步语言,而这实际上是我目前正在苦苦挣扎的唯一部分。任何帮助将不胜感激。
这是我到目前为止所拥有的:
const crypto = require('crypto');
const bodyParser = require('body-parser');
const formidable = require('formidable');
const async = require('async')
app.post('/pushurl/auth',(req,res) =>
var data = req.body.form1data1 + '§' + req.body.form1data2
async.waterfall([
function(callback) {
var token = crypto.createHash('md5').update(data).digest("hex");
callback(null,token);
},function(token,callback) {
res.writeHead(301,{Location: '/dashboard?token=' + token}
);
callback(null)
},function(callback) {
res.end();
callback(null)
}
]);
}
});
输出:
Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
<node_internals>/internal/errors.js:256
No debugger available,can not send 'variables'
Process exited with code 1
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)