Dieser web3js-Ereignis-Listener ist Teil einer Abstimmungs-Dapp. Der Listener wartet auf Transaktionen und rendert die Seite erneut, um Aktualisierungen anzuzeigen.
listenForEvents: function() {
App.contracts.Election.deployed().then(function(instance) {
instance.votedEvent({}, {
fromBlock: 0,
toBlock: 'latest'
}).watch(function(error, event) {
console.log("event triggered", event)
// Reload when a new vote is recorded
App.render();
});
});
},
Auch nach langem Suchen kann ich keine Erklärung für das Teil finden
{
fromBlock: 0,
toBlock: 'latest'
}
Ich denke, dieser Teil verursacht, dass die App in einer Schleife gerendert wird. Event-Deklaration ist wie
event votedEvent (uint indexed _candidateId);
Die Anweisung, die das Ereignis aufruft, ist
votedEvent(_candidateId);
Alle Links oder Themen, nach denen gesucht werden kann, sind hilfreich. Vielen Dank im Voraus :-)
Entfernen von App.render(); für mich gelöst. Weil wir die App rendern, während wir die Solidity-Klasse initialisieren .