subtest1(conn, values)
ジェネレーターです。 yield
ジェネレータオブジェクトを実行しても、その本体は実行されません。つまり、生成されたジェネレーターは中断されたままであり、next()
を呼び出す必要があります。 最初のyield
のメソッド 到達する。 next()
への明示的または暗黙的な呼び出しはありません コードサンプル2 、これがconn.query(...)
の理由です 実行されません。
yield* subtest1(conn, values)
?リンク先のページから:
subtest
は引き続き実行されます 怠惰に。
別の解決策は、subtest
をオンにすることです。 通常の関数に変換し、conn.query(...)
の結果を返します (1つのクエリのみを実行する必要があると仮定):
function subtest1(conn, values) {
return conn.query("INSERT INTO version SET ?", values);
}