Ich lerne node.js und die meisten Beispiele, die ich finden kann, beschäftigen sich mit einfachen Beispielen. Ich bin mehr daran interessiert, komplizierte Systeme in der realen Welt zu bauen und abzuschätzen, wie gut das ereignisbasierte Modell von node.js alle Anwendungsfälle einer realen Anwendung bewältigen kann.Gibt es einen allgemeinen Mechanismus für Timeout-Ereignisse in node.js?
Eines der allgemeinen Muster, die ich anwenden möchte, ist die Blockierung der Ausführung auf Zeitlimit, wenn sie nicht innerhalb einer gewissen Timeout-Zeit auftritt. Wenn es zum Beispiel mehr als 30 Sekunden dauert, um eine Datenbankabfrage auszuführen, ist dies für bestimmte Anwendungen möglicherweise zu viel. Oder wenn es mehr als 10 Sekunden dauert, um eine Datei zu lesen.
Für mich wäre der ideale Programmablauf mit Timeouts ähnlich dem Programmablauf mit Ausnahmen. Wenn ein Ereignis nicht innerhalb einer bestimmten vordefinierten Zeitlimitgrenze auftritt, wird der Ereignis-Listener aus der Ereignisschleife gelöscht und stattdessen ein Zeitüberschreitungs-Ereignis generiert. Dieses Zeitüberschreitungs-Ereignis würde einen alternativen Listener haben. Wenn das Ereignis normal behandelt wird, werden sowohl der Zeitüberschreitungslistener als auch der Ereignislistener aus der Ereignisschleife gelöscht.
Gibt es einen allgemeinen Mechanismus für das Timeout-Handling und das Aufräumen von zeitgesteuerten Prozessen? Ich weiß, dass einige Typen wie Socket Timeout-Parameter haben, aber es ist kein allgemeiner Mechanismus, der für alle Ereignisse gilt.