Ich habe einen Fehler mit Web3. Nachdem ich alle Möglichkeiten durchgegangen war, entschied ich mich, eine Frage zu stellen, in der Hoffnung, dass jemand eine Lösung hat.
Der Fehler, den ich immer wieder bekomme, ist:
TypeError: Eigenschaft 'then' von undefined kann nicht gelesen werden
web3.eth.getAccounts().then(accounts => {
web3.eth.getBalance(accounts[0]).then(balance => {
console.log(balance);
}
}
Hinweis: Dieser exakt gleiche Code läuft auf zwei anderen Servern einwandfrei. Ich habe genau die gleichen Versionen von Truffle, React..etc wie die anderen beiden.
Alle Lösungen werden geschätzt! Danke im Voraus.
Haben Sie versucht, einen Fang hinzuzufügen, um den Stacktrace Ihres Fehlers auszugeben?
Fügen Sie einfach am Ende Ihrer Versprechenskette hinzu:then(account => {...}).catch( err => { console.log(err); }
Sie können dann in der Konsole den Stacktrace des Fehlers sehen und unterscheiden, ob es sich um Konten oder Konten[0] handelt, die nicht definiert sind.
Wenn dies der Fall ist accounts[0]
, stellen Sie sicher, dass Ihre web3-Instanz verbunden ist. Wenn es sich um das gesamte accounts
Objekt handelt, stellen Sie sicher, dass Sie Web3.js verwenden v1.x.x
und nichtv.0.2.x
jQuery.Deferred exception: Cannot read property 'then' of undefined TypeError: Cannot read property 'then' of undefined
Versuchen Sie, es in eine asynchrone Funktion zu packen:
private async deployContract(): Promise<string> {
web3.eth.getAccounts().then...
...
return Promise.resolve('Check done');
}
Achala Dissanayake
Ayushya
.then
haben sich mit der Version geändert, Sie sollten Ihre betreffende Web3-Version angeben.Ismael
Sajuuk