私は単にweb3 APIを使用してethereumアカウントの残高の値を返そうとしていますが、私は$ scopeでその値を取得したいと思います。私のHTML。不幸にも私はいつも価値が得られないということは決まっていません。 Web3が非同期であるかもしれないという事実から来ていると思われますが、わかりません。
app.controller('mainController', function ($scope) {
$scope.showBalance = function(){
web3.eth.getBalance("0xCc26fda641929192B2Fe96BBc37DB5B451Cb9A8c",
function(err, res){
$scope.balance = res.c[0]
console.log("This is inside:" + $scope.balance);
});
console.log("This is outside:" + $scope.balance);
};
angular.element(document).ready(function() {
$scope.showBalance();
});
});
基本的にはconsole.log(「これは内部である」)で動作し、私は右の値を取得し実行します。ここに私のコードです。 console.log( "This is outside")は、未定義の値を取得しません。
私はweb3.eth.getBalanceが何であるか分かりませんが、私はそれを約束します。その場合、コールバック関数のコードは、約束が解決されるまで実行されません。一方、もう一方のコードは引き続き実行されます。実行中にコードをステップ実行すれば、これを見ることができます – jbrown