subtest1(conn, values) er en generator. yield ing af et generatorobjekt udfører ikke dets krop. Det vil sige, at den leverede generator forbliver suspenderet, og det ville kræve et kald til next() metode til det første yield skal nås. Der er ingen eksplicitte eller implicitte kald til next() i Kodeeksempel 2 , og dette er grunden til conn.query(...) er ikke henrettet.
Hvad med yield* subtest1(conn, values)
? Fra den linkede side:
Det vil stadig udføre subtest dovent.
En alternativ løsning er at slå subtest ind i en almindelig funktion og returner resultatet af conn.query(...) (forudsat at du kun behøver at udføre én forespørgsel):
function subtest1(conn, values) {
return conn.query("INSERT INTO version SET ?", values);
}