首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行以下代码后,我从Metamsk错误中接收到

运行以下代码后,我从Metamsk错误中接收到
EN

Ethereum用户
提问于 2022-09-12 08:47:05
回答 1查看 92关注 0票数 1
代码语言:javascript
复制
import { useWeb3React } from "@web3-react/core";
import { InjectedConnector } from "@web3-react/injected-connector";

const injected = new InjectedConnector({
supportedChainIds : [1,2,3,4]
})

function App() {

const {active , account , library ,connector , activate , deactivate} = useWeb3React()

async function connect (){
   try{
      await activate (injected)
   }catch (err){
  console.log(err)
   }

}

代码语言:javascript
复制
 async function disconnect(){
   try{
     await deactivate()
   }catch(err){
     console.log(err)
   }
 }

 async function getBalance(wallet){
   try{
      library.eth.getBalance(wallet).then(walletBalance => console.log(walletBalance))
   }catch(err){
      console.log(err);
    }
}

 return (
     <>
     {console.log({active , account , library , connector})}

  <button onClick={connect}>connect to wallet</button>
  <p>{activate ? account :'disconnected'}</p>
  <button onClick={disconnect}>disconnected</button>
  {activate && <button onClick={()=>getBalance(account)}>get Balance</button>}
  </>
 );
}

错误:在没有回调参数的情况下,MetaMask提供程序不支持像eth_getBalance这样的同步方法。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2022-09-12 13:35:39

尝试使用回调来调用library.eth.getBalance函数,而不是.then

代码语言:javascript
复制
library.eth.getBalance(wallet, walletBalance => console.log(walletBalance));
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/135439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档