Ich versuche, den Unterschied zwischen den folgenden Fällen beim Drucken des Ereignisses zu verstehen: Bei web3.js
listenToEvent: function(){ Contract.deployed().then(function(instance){ instance.HelloWorld().watch(function(error, event){ document.getElementById("demo").innerHTML += JSON.stringify(event); console.log (Ereignis); //1. Es funktioniert nicht console.log (event.args); // 2. Es gibt alle Argumente an console.log (event.args.name); // 3. Es funktioniert nicht }); }); },
Meine Frage ist, wenn das Objekt nicht gedruckt werden kann, warum funktioniert es dann für die 2. Bedingung und wenn es funktioniert, warum schlägt es dann für die 3. fehl.
Um auf die Argumente zuzugreifen, können wir Folgendes verwenden: console.log(JSON.stringify(event.args.name));
Beim Drucken des Ereignisses console.log(JSON.stringify(event)); Es enthält auch die Transaktionsdetails, wie bekomme ich das?
Schätzen Sie jede Hilfe im Voraus.
Ich füge auch Probleme mit watch() auf web3 hinzu, um nach Ereignissen zu suchen.
Aber ich schaffe es, sie zu lösen, indem ich die alternative Methode ( docs ) verwende:
// Or pass a callback to start watching immediately
var event = myContractInstance.MyEvent([{valueA: 23}] [, additionalFilterObject] , function(error, result){
if (!error)
console.log(result);
});
Versuchen Sie Folgendes zu ändern:
instance.HelloWorld().watch(function(error, event){
zu
instance.HelloWorld({}, function(error, event){
Ismael
Shubham Tschadokar