Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Comportamento da subfunção de rendimento do gerador estranho de Javascript


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);
}