subtest1(conn, values)
je generátor. yield
ing objektu generátoru neprovede jeho tělo. To znamená, že generovaný generátor zůstane pozastavený a vyžadovalo by to volání next()
metoda pro první yield
k dosažení. Neexistují žádná explicitní ani implicitní volání funkce next()
v Ukázce kódu 2 , a to je důvod conn.query(...)
není proveden.
Co třeba yield* subtest1(conn, values)
? Z odkazované stránky:
Stále se provede subtest
líně.
Alternativním řešením je zapnout subtest
do běžné funkce a vrátí výsledek conn.query(...)
(za předpokladu, že potřebujete provést pouze jeden dotaz):
function subtest1(conn, values) {
return conn.query("INSERT INTO version SET ?", values);
}