1

イーサリアムと web3js の学習を開始し、Web3js の一部の機能が非同期であることに気付きました。私が達成したいのは、ウォレットの口座残高を取得し、そのデータを別の用途に使用することです。以下の私のコード

function getAccountBalance2(address){
            var wei, balance
            //address = document.getElementById("addy").value
            return new Promise(function(resolve, reject){
                web3.eth.getBalance(address, function(error, wei){
                    if(error){
                        console.log("Error with address");
                    }else{
                        var balance = web3.fromWei(wei, "ether");
                        var bal = resolve(balance);
                        //console.log(bal);
                        console.log(balance.toNumber());
                        return balance.toNumber();
                    }
                });
            });
        }

そして、私は以下のこの関数で戻り値を使用しようとしています

function interTransfer(){
            var from, to, amount, fromWallet, toWallet
            from = document.getElementById("from").value
            to = document.getElementById("to").value
            amount = document.getElementById("amount").value

            if(isWalletValid(from) && isWalletValid(to)){
                fromWallet = getAccountBalance2(from);
                toWallet = getAccountBalance2(to);
            }else{
                console.log("Something is wrong")
            }

            console.log(fromWallet + " "+ toWallet)
        }

出力

promise オブジェクトを与える

interTransfer()実際の値を取得して関数で使用するにはどうすればよいですか

4

1 に答える 1