代码之家  ›  专栏  ›  技术社区  ›  benjamin852

Web3未连接

  •  0
  • benjamin852  · 技术社区  · 6 年前

    我用truffle unbox react做了一个新的项目,假设我将dapp直接部署到Infura的Rinkeby上,我在app.js中与web3交互时遇到了问题

    我的src文件夹里有一个web3文件这是它的内容

    import Web3 from 'web3';
    
    let web3 = new Promise(function(resolve, reject) {
    
    window.addEventListener('load', function() {
     var results
     var web3 = window.web3
    
    if (typeof web3 !== 'undefined') {
      web3 = new Web3(web3.currentProvider)
    
      results = {
        web3: web3
      }
      console.log(web3);
      console.log('Injected web3 detected.');
    
      resolve(results)
    } else {
      var provider = new Web3.providers.HttpProvider('http://127.0.0.1:9545')
    
      web3 = new Web3(provider)
    
      results = {
        web3: web3
      }
    
      console.log('No web3 instance injected, using Local web3.');
    
      resolve(results)
      }
     })  
    })
    
     export default web3
    

    然后我将该文件导入我的app.js

    import web3 from './web3';
    

      <p>  web3.utils.fromWei(this.state.balance, 'ether')  </p>
    

    我在控制台日志中得到的错误如下:“Uncaught TypeError:无法读取未定义的'fromWei'属性”

    你知道我错在哪里吗?

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  0
  •   Ferit    6 年前

    这是一个异步调用,你必须等待它。 await web3.utils.fromWei(this.state.balance, 'ether')