2015-01-09 8 views

Antwort

8

Mit Meteor.setTimeout() wird sichergestellt, dass dieser Code Fibers bewusst ist. Lesen Sie mehr über Fasern: https://github.com/laverdet/node-fibers

+0

Vielen Dank, würden Sie so freundlich sein, ein Beispiel zu geben, welche neuen Dinge Meteor.setTimeout() mit Glasfaser im Gegensatz zu ohne? – Mcope

+0

Sie müssen verstehen, wie Knoten funktioniert und welche Fasern ermöglichen. Überprüfen Sie diese Antwort von Slava (Ein Meteor Core-Entwickler): https://groups.google.com/d/msg/meteor-talk/uipZ9I_37AU/SimAAlYnY6sJ –

19

Auf dem Client gibt es keinen Unterschied zwischen ihnen.

Auf dem Server, wenn Code für einen bestimmten Benutzer ausgeführt wird (z. B. in Methodenaufrufen), müssen Sie Meteor.setTimeout anstelle von window.setTimeout verwenden, damit Meteor merkt, für welchen Benutzer die Funktion aufgerufen werden soll. In der Zeit zwischen der Funktion übergeben an Meteor.setTimeout wird aufgerufen und wenn es aufgerufen wird, können andere Benutzer Methoden auf dem Server aufgerufen haben, statt Meteor.userId ihre Benutzer-ID stattdessen zurückgeben. Meteor.setTimeout wird zurück, so Meteor.userId zurückgeben die Benutzer-ID für den Benutzer der Anruf an Meteor.setTimeout wurde vor dem Aufruf der Funktion an sie übergeben.

Es ist eine Designentscheidung.

+0

Vielen Dank für diese Erklärung. –