subtest1(conn, values)
é um gerador. yield
A execução de um objeto gerador não executa seu corpo. Ou seja, o gerador gerado permanece suspenso e exigiria uma chamada para o next()
método para o primeiro yield
ser alcançado. Não há chamadas explícitas ou implícitas para next()
em Amostra de código 2 , e esta é a razão conn.query(...)
não é executado. Que tal
yield* subtest1(conn, values)
? Da página vinculada:Ele ainda executará
subtest
preguiçosamente. Uma solução alternativa é transformar
subtest
em uma função regular e retornar o resultado de conn.query(...)
(assumindo que você só precisa realizar uma consulta):function subtest1(conn, values) {
return conn.query("INSERT INTO version SET ?", values);
}