如何使此呼叫阻塞(例如,使用异步/等待)?
testMethod(message) {
let signature;
eccrypto.sign(this.privateKey, msg)
.then(function (sig) {
console.log("Signature in DER format:", sig);
signature = sig;
});
return signature;
}
我希望testMethod返回signature
,现在返回(当然)undefined
!我一直在玩async/await
并没有成功...
有什么帮助吗?
答案 0 :(得分:1)
好的,您可以进行异步/等待。像这样
async testMethod(message) {
let signature;
signature = await eccrypto.sign(this.privateKey, msg)
.then(function (sig) {
console.log("Signature in DER format:", sig);
return sig;
});
return signature;
}
但是不会被阻止。它的工作原理类似于同步代码,但不相同。请参阅details。
答案 1 :(得分:0)
async testMethod(msg) {
try {
const signature = await eccrypto.sign(this.privateKey, msg)
console.log('Signature in DER format:', signature);
return signature;
} catch (e) {
console.error('Error generating signature', e.message);
}
}