我正在尝试发送带有多个信息的JSON,其中一个字段取决于外部函数。当我得到JSON结果时,该字段为空,因为send函数在变量值补充函数之前执行。这是我的代码:
router.post('/sign', function(req, res) {
var id_server = serverKeys.id_server;
var id_client = req.body[0].A;
var moneda = req.body[2].coin;
var cantidad = req.body[3].cantidad;
var signed = blindSignature.sign(moneda, cantidad);
console.log('Mensaje firmado en la api: ' + signed);
var data = ([{"A": id_server}, {"B": id_client}, {"coin_signed": signed}, {'cantidad': cantidad}]);
var Po = nonRepudiation.gethash(data);
var response = ([{"A": id_server}, {"B": id_client}, {"signed": signed}, {'cantidad': cantidad}, {'Po': Po}, {'status': "Mensaje firmado"}]);
res.status(200).send(response);
});
var signed
值依赖于blindSignature.sign()
函数。因此,数据JSON上的coin_signed
字段发送为空。
exports.sign = function(mensaje, cantidad) {
console.log('Firma ciega');
Key.find({"valor": cantidad}, function (err, clave) {
if (err) return next(err);
d = clave[0].d;
n = clave[0].n;
var signed = bigInt(mensaje).modPow(d, n);
console.log("Mensaje firmado en módulo: " + signed.toString());
return signed;
});};
提前致谢。