Wenn ein Meteor.Error von einer Servermethode geworfen wird, wird das Skript beendet

8

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?

    
SuitedSloth 09.03.2014, 13:21
quelle

3 Antworten

12

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 für die Rückrufe. oder Meteor.wrapAsync , um sicherzustellen, dass die Callbacks ausgeführt werden die gleiche Faser.

Sobald Sie dies tun, sollte Ihre App nicht abstürzen und wird nicht dazu führen, dass sie neu gestartet wird.

    
Akshat 09.03.2014, 17:15
quelle
2

Das erste Argument sollte eine Zeichenfolge sein, keine Ganzzahl in Meteor 1.2.1

Ссылка

    
Thoms 16.12.2015 13:27
quelle
0

Versuchen Sie Folgendes:

%Vor%     
Julio Marins 13.02.2015 16:16
quelle

Tags und Links