3

我正在尝试从 Ethereum web3 函数获取帐户信息,但它返回 Promises,我不知道如何使用 Async/Await 语法调用其中的值!

这是代码:

var Web3 = require('web3');
var web3 = new Web3('http://localhost:8545');;


var accounts = async function fetchAccounts() {
let accs = await web3.eth.getAccounts();
return accs;
}; 

async function balance () {
let bal = await web3.eth.getBalance('0x398E42Da3254a22e13AbDBB4C68998BCDb3e2F1D');
    return bal;
};


 balance();

结果:

Promise { <pending> }

然后我尝试了:

 web3.eth.accounts[0];

 accounts();

结果:

Promise { <pending> }

已编辑

然后我尝试实施其他人标记为异步问题重复答案的解决方案,但即使应用结果,我仍然得到 Promise:

(async() => {
  try {
  let bal = await balance();
  console.log(bal);
      }
  catch (e) {
      //whatever
  }
}
)();

回报:

Promise { <pending> }
4

0 回答 0