Obwohl Node nach Möglichkeit Operationen an das Betriebssystem auslagert und möglicherweise mehrere Threads unter der Haube laufen, gibt es nur einen Ausführungskontext für JavaScript/eine Ereignisschleife. Sobald Sie einen Haltepunkt erreicht haben, wird die Ereignisschleife erst bearbeitet, wenn Sie die Kontrolle übernommen haben. Daher wird keiner der asynchronen API-Vorgänge verarbeitet. Um das Ergebnis Ihrer Sequelize-Abfrage zu erhalten, müssen Sie die Ausführung fortsetzen.
Alternativ zur Verwendung eines Debuggers könnte ein REPL Ansatz in Betracht gezogen werden. Führen Sie node --inspect-brk
aus und überprüfen Sie die Laufzeit des wartenden Knotens in den Chrome-Entwicklungstools (aufgeführt unter chrome://inspect
). Nun sequelize initialisieren, an die DB verbinden, laden Sie das Author
Modell (oder tun dies in einer Setup-Skript, das Sie mit --inspect
laufen würde) und dann bewerten die folgenden:
await Author.findOne({})
Sie können das resultierende Objekt in der Konsole überprüfen , speichern Sie es in einer globalen Variable (Rechtsklick auf das ausgewertete Objekt ->Speichern als globale Variable), stringifizieren/kopieren Sie die global gespeicherte Variable in die Zwischenablage (copy(JSON.stringify(temp1))
) usw. Sie können Ihre Abfrage einfach optimieren und erneut ausführen.
Ich denke, der Ansatz, den ich nehmen würde, ist, Tests dagegen zu schreiben. Auf diese Weise können Sie die Tests schnell nacheinander ausführen und es wäre nicht so zeitaufwendig, das zu tun, was Sie gerade tun. – Jonathan