subtest1(conn, values)
adalah pembangkit. yield
ing objek generator tidak mengeksekusi tubuhnya. Artinya, generator yang dihasilkan tetap ditangguhkan, dan itu akan memerlukan panggilan ke next()
metode untuk yield
pertama untuk dicapai. Tidak ada panggilan eksplisit atau implisit ke next()
di Contoh Kode 2 , dan inilah alasannya conn.query(...)
tidak dieksekusi.
Bagaimana dengan yield* subtest1(conn, values)
? Dari halaman tertaut:
Itu masih akan mengeksekusi subtest
dengan malas.
Solusi alternatif adalah dengan mengubah subtest
menjadi fungsi reguler dan mengembalikan hasil conn.query(...)
(dengan asumsi Anda hanya perlu melakukan satu kueri):
function subtest1(conn, values) {
return conn.query("INSERT INTO version SET ?", values);
}