Ich möchte einen asynchronen Rückruf ausführen, wenn das Ereignis exit
ausgegeben wird. Zum Beispiel:Ausführen eines asynchronen Codes, wenn das Ereignis "exit" ausgegeben wird
process.addListener ("exit", function(){
asynchronousCode (function(){
//my callback
});
});
Ich habe beide versucht, mit addListener
und on
aber der Code innerhalb der Rückruf wird ausgeführt nie, da das Programm das Ereignis exit
abgibt, führt die asynchrone Funktion und beendet, ohne den Rückruf aufrufen.
Wie kann ich das Programm zwingen zu warten, bis ich process.emit ("exit")
ausführen? Vielleicht muss der Code synchron sein ...
Ich bin mir nicht sicher, warum Code zum Entladen der Seite asynchron sein sollte, Sie sollten das Standardverhalten des Ereignisses verhindern (e.preventDefault auf true setzen oder false zurückgeben) und eine Statusvariable in asynchronicCode() beibehalten (setzen Sie sie) true, um den aktuellen Standort zu verschieben. Wie auch immer, der Benutzer wird die Seite "verlassen" und nach ein wenig (während er noch interagieren kann) wird alles verschwinden ... Ich denke, es ist ein bisschen verwirrend für ihn. –
Ich schreibe keinen HTTP-Server, ich möchte nur einige Aktionen ausführen, wenn das Programm beendet ist. Das Ereignis 'exit' übergibt keinen Parameter an den Listener. –
Ich habe über das Entladeereignis gesprochen, aber ich schätze, es macht nicht so viel Sinn, etwas Asynchrones am Ausgang zu machen (weil der einzige Weg, es abzuschließen, ist, den Ausgang selbst zu verschieben, dann macht man ... synchron) –