나는 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