sql >> データベース >  >> RDS >> Mysql

Javascriptの奇妙なジェネレーターはサブ関数の動作を生成します

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


    1. JoomlaMySQLのパフォーマンス

    2. データベースレベル自体でクエリを介して非シリアル化

    3. Heroku PG Backupアドオンを使用してバックアップをスケジュールできますか?

    4. SQL:1つの列と対応する他の列の最大値を取得する