Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Node.js Module liefern Ergebnisse asynchron, wie stoppe ich meine file vom weiterlaufen ohne die Ergebnisse?

Empfohlene Antworten

Veröffentlicht

Hallo liebes Forum,

ich möchte in Node.js gerne Module verwenden, um meinen Code übersichtlich zu gestalten und Wiederholungen zu vermeiden. Ich würde gerne Methoden implementieren, die ich von verschiedenen Orten aufrufen kann (als wären sie public und static)  und mit deren Ergebnissen ich weiterarbeiten kann. Allerdings habe ich mittlerweile festgestellt, dass Node.js nicht synchron arbeitet und meine File einfach weiter ausgeführt wird, obwohl ich das Ergebnis aus einem anderen Modul noch nicht erhalten habe. Ich habe versucht, mein Problem mit Callback Functions zu lösen, aber hier habe ich dann wieder das gleiche Problem, ich kann mit den Ergebnissen der Callbacks nicht weiterarbeiten, so wie ich es von C# her kenne. Es ist, als dürfte man nur einmal eine Callback function benutzen und dann muss es in der gleichen file weitergehen. Ich bin ehrlich überfordert. Ich möchte nicht den selben Code immer wieder in eine File klatschen, nur damit irgendwann mal eine Variable nicht undefined ist. Ich würde gerne qualitativ hochwertigen Code schreiben, aber ich kenne node.js nicht gut genug :( Komme ich hier eventuell mit Events weiter? Ich würde mich freuen, falls mir jemand einen Tipp geben könnte, wie ich hier weiterkommen könnte.

Vielen Dank im Vorraus!

Es gibt verschiedene Arten asynchronen Code in JavaScript zu schreiben: Callbacks, Promises und Async/Await. Callbacks werden ganz schnell sehr unübersichtlich, Promises sind in Ordnung, aber ich bevorzuge async/await wenn keine guten Gründe dagegen sprechen. Das funktioniert (aus Nutzersicht) im Prinzip genauso wie du es aus C# kennst, damit solltest du weniger Probleme haben.

Zusätzlich dazu wäre vielleicht noch interessant ob du TypeScript benutzt. Ich hab mir mit JavaScript auch immer schwer getan den Typ einer Variable zu bestimmen, mit TypeScript ist das deutlich einfacher. Da ist schnell klar ob etwas vom Typ T ist, oder doch vom Type Promise<T>. Je nachdem siehst du dann ganz schnell wo du was noch awaiten musst.

TypeScript und async/await dürften wohl die zwei größten Faktoren sein wenn es darum geht sauberen asynchronen JS Code zu schreiben.

Hallo 0x00,

ganz vielen Dank für die ausführliche Antwort! Ich konnte meine Probleme mit dem asynchronen Code jetzt lösen! Es ist wirklich toll, wie hilfsbereit das Forum hier ist! Ganz vielen Dank nochmal :D

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.