2017-12-27 3 views
2

Wie kann ich Wert von Versprechen zurückgeben. Ich möchte den Wert des Versprechens mit meinem Limit vergleichen. Aber ich kann mein Ergebnis nicht in meinem Zustand zurückgeben.Wie Rückgabewert von Versprechen

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

Hinweis: wenn 'kehrt getBalanceByAddress', wird der Anruf noch im Gange, so das Ergebnis ist noch nicht verfügbar. Sie müssen die Ergebnisbehandlung am Ende der Versprechungskette anhängen. – spectras

+0

Wie wäre es einen anderen Ansatz :) getBalanceByAddress (....). Dann ((Ergebnis) => { if (Ergebnis> 228) { console.log ('ALL ok') } else {versuchen console.log ('unzureichende Mittel') } }) getBalanceByAddress (addressFrom) { var_this = this; zurück _this.web3.eth.getBalance (addressFrom) } – orangespark

Antwort

3

Sie müssen es abwarten:

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

danke ich es versuchen –

+2

Obwohl angefügten doppelten Link hat es beantwortet, ich mochte immer noch diese einfache Lösung (kein Scrollen) +1. Sie müssen OP trotzdem die Browser-Unterstützung dieser Lösung wissen lassen! – gurvinder372

Verwandte Themen