2017-12-27 5 views
2

약속에서 가치를 반환하려면 어떻게해야합니까? 나는 한계 가치와 약속의 가치를 비교하길 원합니다. 하지만 내 결과를 내 상태로 돌려 보낼 수는 없습니다.약속에서 반환 값을 얻는 방법

if (getBalanceByAddress(....) > 228) { 
    console.log('ALL ok') 
} else { 
    console.log('insufficient funds') 
} 

getBalanceByAddress(addressFrom) { 
    var _this = this; 
    return _this.web3.eth.getBalance(addressFrom).then(function(result) { 
     return result; 
    }); 
} 
+0

힌트 :'수익을 getBalanceByAddress' 때 호출이 아직 진행, 그래서 결과는 아직 사용할 수 없습니다. promise chain의 끝에서 결과 처리를 추가해야합니다. – spectras

+0

어떻게 다른 접근 방법 : getBalanceByAddress (....). 다음 ((결과) => { 노력에 대한 (결과> 228) { CONSOLE.LOG 다른} ) ('ALL OK'{ 경우 console.log ('잔액 부족') } } getBalanceByAddress (addressFrom) { var _this = this; return _this.web3.eth.getBalance (addressFrom) – orangespark

답변

3

당신은 그것을 기다리고해야합니다

(async function(){ 
    if(await getBalanceByAddress() > 228){ 
    console.log('ALL ok'); 
    } else { 
    console.log('insufficient funds'); 
    } 
})() 
+0

고마워. –

+2

첨부 된 중복 링크가 응답했지만, 여전히이 간단한 솔루션 (스크롤하지 않음) +1을 좋아했습니다. 그래도 OP에이 솔루션의 브라우저 지원을 알릴 필요가 있습니다! – gurvinder372

관련 문제