MetaMask unterstützt keine synchronen Methoden wie eth_sendTransaction

Ich versuche, eine Funktion in meinem Smart Contract aufzurufen und bekomme immer wieder den Fehler, dass Uncaught Error: The MetaMask Web3 object does not support synchronous methods like eth_sendTransaction without a callback parameterich verstehe, dass ich den Aufruf asynchron machen muss, aber ich bin mir nicht sicher, wie ich das machen würde. Mein Code ist:

   mainEvent.watch(function(error, result){
        if (!error)
            {
                $("#instructor").html(result.args.addr);
                console.log(result)
            } else {
                console.log(error);
            }
    });

   $("#button").click(function() {
       console.log(Raffle.main());
   });

Antworten (1)

Sie müssen einen Rückruf für bereitstellen Raffle.main. (Ich nehme an, das ist die Funktion, über die es sich beschwert.)

Raffle.main(function (err, result) {
    console.log(result);
});
Danke, wo würde ich das in meinen Code einfügen?
Es ersetzt die Zeileconsole.log(Raffle.main());