Wie kann verhindert werden, dass das Rückrufereignis zweimal auftritt?

Hallo, das ist mein Web3-Code

events.watch(function (error,result){
            if (error) {
                console.log('Error:'+JSON.stringify(error));
                res.send({'status':0,'message':error});
            }else{
                console.log('Result:'+JSON.stringify(result));
                res.send({'status':1,'message':result});

            }
        });

Hier wird immer dann, wenn ein Ereignis eintritt, die Überwachungsfunktion ausgelöst. Aber das Problem ist, dass es die Funktion zweimal zurückruft. Wie kann ich das verhindern? In jeder Diskussion sagten sie nur, ich hätte den Thread behoben und geschlossen. Was ist die Lösung, um das zweimalige Auslösen zu stoppen? Ich verwende web3 0.20.0. Danke schön.

Wahrscheinlich verarbeiten Sie mehr als ein Ereignis. Haben Sie überprüft, ob die Ereignisse Ihren Erwartungen entsprechen? Können Sie das watchnur auf die Veranstaltung(en) beschränken, an denen Sie interessiert sind?

Antworten (1)

Sie könnten eine Hash-Liste basierend auf dem Hash der Transaktion erstellen und sicherstellen, dass sie nicht verarbeitet wurde, bevor Sie den Code ausführen