Ich werfe eine Meteor.Error-Ausnahme von einer serverseitigen Methode aus.
%Vor%Mein Ziel ist, dass die Client-Seite Meteor.call diesen Fehler erhält, was sie tut, aber das Werfen verursacht auch, dass der Knoten-Prozess beendet wird.
Fehler: Immer erkanntes Skript mit Code beendet: 8
Wie kann man Fehler von einer Meteor.methods () an eine Meteor.call melden, ohne das Skript zu löschen?
Das kann passieren, wenn Sie Ihre Methode irgendwie von außerhalb der Faser Ihrer Methode werfen. Zum Beispiel
%Vor%Wenn Sie etwas verwenden, das aus der Faser, in der die Methode läuft, entkommen kann, kann Meteor zum Beenden kommen.
Sie müssen nur sicherstellen, wo Sie den Fehler werfen, der es in der Faser ist. (Im obigen Beispiel können Sie Meteor.setTimeout
anstelle von setTimeout
verwenden.
Wenn Sie ein Modul npm
verwenden, sollten Sie Meteor.bindEnvironment
Sobald Sie dies tun, sollte Ihre App nicht abstürzen und wird nicht dazu führen, dass sie neu gestartet wird.
Tags und Links meteor