sql >> Base de Datos >  >> RDS >> Mysql

Comportamiento de subfunción de rendimiento de generador extraño de Javascript

subtest1(conn, values) es un generador yield ing un objeto generador no ejecuta su cuerpo. Es decir, el generador producido permanece suspendido y requeriría una llamada a next() método para el primer yield ser alcanzado. No hay llamadas explícitas o implícitas a next() en Ejemplo de código 2 , y esta es la razón conn.query(...) no se ejecuta.

¿Qué tal yield* subtest1(conn, values) ? Desde la página vinculada:

Seguirá ejecutando subtest perezosamente.

Una solución alternativa es convertir subtest en una función normal y devolver el resultado de conn.query(...) (asumiendo que solo necesita realizar una consulta):

function subtest1(conn, values) {
    return conn.query("INSERT INTO version SET ?", values);
}