2017-06-22 5 views
0

Ich möchte eine React-Anwendung erstellen, bei der die App den gesamten Tag über 7 verschiedene APIs (auch wenn niemand online ist) kontinuierlich sendet und automatische Nachrichten sendet, wenn ein bestimmter Wert empfangen wird. Wäre es möglich, dies nur mit React zu tun oder ist Node.js erforderlich? Wenn ja, wie würdest du es tun?Ist es möglich, einen Daemon auf React auszuführen?

Antwort

0

Einige wichtige Punkte:

  1. JS in den meisten Fällen einzigen Thread ist. Wenn Sie Daemon sagen, sprechen wir normalerweise von einem separaten Thread oder Prozess. Dies ist mit js typischerweise im Browser nicht möglich. Aber um Ihre Bedürfnisse zu erfüllen, brauchen Sie keinen Daemon. Sie müssen nur einen Timer in Ihrem js-Code einrichten und die Anfragen auslösen, wenn es an der Zeit ist.
  2. Wenn Sie 7 verschiedene APIs nur vom Frontend aus aufrufen möchten, können domänenübergreifende Probleme auftreten, es sei denn, diese APIs werden von anderen rechtlich geöffnet und verhindern keine domainübergreifende Anforderung.
  3. Wenn Sie die Zeit benötigen, um sehr genau zu sein, ist es besser, die APIs im Backend aufzurufen und die benötigten Daten zwischenzuspeichern. Wenn Sie dies tun möchten, kann nodejs verwendet werden, abhängig davon, welche Sprache Ihnen am vertrautesten ist. Mein Vorschlag ist, es im Backend zu tun. Es ist einfacher zu verwalten und Sie können einen echten Multi-Thread- oder Multi-Prozess-Daemon implementieren.
+0

Danke für die schnelle Antwort! Ich verwende bereits einen Proxy für die API-Aufrufe. Wird ein JavaScript-Timer funktionieren, wenn ich nicht auf der Website bin? z.B. Ich schließe die Registerkarte Website, aber es macht weiterhin API-Aufrufe – Mat

+0

Nein, wenn Sie die Registerkarte schließen, können keine Anrufe getätigt werden. Die Registerkarte ist wie der js-Container-Prozess. Wenn Sie es schließen, kann kein Code ausgeführt werden. –

+0

Gilt dasselbe für eine Node.js-App? Ich möchte es ermöglichen, dass die Anrufe auch dann getätigt werden, wenn die Tabs geschlossen sind. Wenn das nicht möglich ist, wie würdest du mir das empfehlen? Locker? OS-Daemon? – Mat

Verwandte Themen