Ist es möglich, Cradle -Anrufe synchron zu tätigen?
Frage
Ich verwende Express für ein Projekt und habe die CouchDB -Datenbank mit Cradle ausprobiert. Während die Idee der asynchronen Ausführung aus Leistungsgründen cool ist, macht es meinen Code wirklich zu einem Durcheinander für Routinen, bei denen ich mehrere Datenbankanrufe in einer Zeile tätigen muss.
Ist es möglich, Cradle -Anrufe zu tätigen, ohne einen Rückruf zu verwenden? Oder, ich nehme an, gibt es eine bessere Möglichkeit, den Code zu organisieren, bei dem 3 oder 4 anonyme Funktionen ineinander nisten, nur um die Ergebnisse der Datenbankabfrage zu erhalten? Der Code wird nur an einem Ort verwendet, sodass es für mich nicht sinnvoll ist, benannte Funktionen zu verwenden, die nur einmal aufgerufen werden.
Lösung
Ist es möglich, Cradle -Anrufe zu tätigen, ohne einen Rückruf zu verwenden?
Soweit ich weiß, hat Cradle nur asynchrone API.
Oder, ich nehme an, gibt es eine bessere Möglichkeit, den Code zu organisieren, bei dem 3 oder 4 anonyme Funktionen ineinander nisten, nur um die Ergebnisse der Datenbankabfrage zu erhalten?
Ich würde zunächst empfehlen, folgende Artikel zum Thema Flow Control zu lesen, um ein größeres Bild davon zu machen, was los ist:
- Ereignisgesteuerte Programmierung verstehen
- Asynchrones Codedesign mit node.js
- Ereignisschleifen verstehen und großartiges Code für node.js schreiben
- Node.js: asynchrones E/O zum Spaß und Gewinn
- Steuerfluss im Knoten
- Kontrollfluss im Knoten Teil II
- Kontrollfluss im Knoten Teil III
- Asynchroner Code in node.js
Anschließend können Sie die Dinge einfach machen und mehrere Bibliotheken für die Flusssteuerung nutzen, die sich mit Fragen des asynchronen Code in node.js befassen: