Я думаю, что столкнулся с проблемой обратного вызова, поскольку возвращаемый результат говорит о неопределенном (несмотря на правильное отображение в журнале консоли).
web3.eth.getBlockNumber(function(error, result){
if(!error)
{
console.log(result)
return result
}
else
{
console.error(error);
alert(error)
}
})
В настоящее время я не могу передать результат обратного вызова другой функции/переменной. Пожалуйста помогите. Спасибо.
Это обычная путаница для новых разработчиков JavaScript. Если вы хотите перейти result
к чему-то другому, вам нужно вызвать другую функцию. Например:
web3.eth.getBlockNumber(function (error, result) {
otherFunction(result);
});
function otherFunction(result) {
console.log("In otherFunction with: " + result);
}
В настоящее время вы просто return
ing result
, что просто означает, что он возвращается вызывающей стороне вашего обратного вызова web3.eth.getBlockNumber
(и он вообще не ожидает возвращаемого значения от обратного вызова, поэтому игнорирует его).
Шомари
return
результат и никуда его не передаетефетт
Джек Бауэр
Шомари
<script src="https://unpkg.com/web3@1.0.0-beta.27/src/index.js"></script>