subtest1(conn, values)
ist ein Generator. yield
Das Erstellen eines Generatorobjekts führt seinen Körper nicht aus. Das heißt, der ausgegebene Generator bleibt suspendiert und würde einen Aufruf von next()
erfordern Methode für den ersten yield
zu erreichen. Es gibt keine expliziten oder impliziten Aufrufe von next()
in Codebeispiel 2 , und das ist der Grund conn.query(...)
wird nicht ausgeführt.
Wie wäre es mit yield* subtest1(conn, values)
? Von der verlinkten Seite:
Es wird trotzdem subtest
ausführen faul.
Eine alternative Lösung besteht darin, subtest
umzuschalten in eine reguläre Funktion umwandeln und das Ergebnis von conn.query(...)
zurückgeben (vorausgesetzt, Sie müssen nur eine Abfrage durchführen):
function subtest1(conn, values) {
return conn.query("INSERT INTO version SET ?", values);
}