У меня есть прослушиватель событий, который отвечает обратным вызовом.
Этот обратный вызов является оберткой вокруг фактического обратного вызова.
Я определил переменную в самой внешней функции blockNumber
и хочу получить к ней доступ (чтение / запись) из самой внутренней функции.
Код выглядит следующим образом.
startWeb3 = async () => {
await initWeb3();
var blockNumber = await web3.eth.getBlockNumber();
console.log(blockNumber) //=> "184"
window.KYCinstance.events.ReportedFraudA({ fromBlock:0 },
(error, event) => {
console.log(blockNumber); //=> "184"
listenCallback(error, event, "fromFraudEvents");
});
listenCallback = async (error, event, type) => {
if (error) { console.log(error); }
else {
console.log(blockNumber); //=> "ERROR"
}
}
В результате появляется сообщение об ошибке, и, конечно, если я делаю this.blockNumber
, оно не определенопеременная.
startWeb3
является самой внешней функцией,
она имеет прослушиватель событий, который вызывает listenCallback
,
, она находится внутри этого обратного вызова, где я пытаюсь получить доступ к самой внешней области видимости.