2017-12-27 17 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'が戻ったときに、コールがまだ進行中であるので、結果はまだ利用できません。プロミスチェーンの最後に結果処理を追加する必要があります。 – spectras

+0

どのように異なるアプローチを試みるについて:) getBalanceByAddress(....)。その後、((結果)=> { (結果は> 228){ はconsole.log( 'ALL OK') }他{ 場合console.log( '資金不足') } }) getBalanceByAddress(addressFrom){ var _this = this; 返信_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

関連する問題