в приведенном ниже примере я вижу hash
, записанный в консоль из someFunction
, однако я не могу вернуть r в callerFunction
.Там вывод undefined
.Как получить значение h
, возвращаемое в callerFunction
async function caller(){
var val = 10;
let result = await someFunction(val);
console.log(result);
}
async function someFunction(val) {
let r = await contract.methods.updateValue(val).send({from: account})
.on('transactionHash', function(h){
console.log(h);
return h;
})
return r;
}
Я пробовал несколько вариантов ниже:
Вариация 1
async function someFunction(val) {
return contract.methods.updateValue(val).send({from: account})
.on('transactionHash', function(h){
console.log(h);
return h;
})
return r;
}
Вариация 2
async function someFunction(val) {
return r = contract.methods.updateValue(val).send({from: account})
.on('transactionHash', function(h){
console.log(h);
return h;
})
}
Вариация 3
async function someFunction(val) {
var result;
let r = await contract.methods.updateValue(val).send({from: account})
.on('transactionHash', function(h){
console.log(h);
result = h;
})
return result;
}
и все еще не может заставить его работать ....