ホームページ  >  に質問  >  本文

Promise を使用してトランザクションを効率的に処理する最良の方法

データベース トランザクションの管理に役立つ NodeJ のユーティリティ クラスを作成しています。

私のアイデアは、次のようなメソッドを作成することです:

リーリー

そして次のように使用します:

リーリー

うまくいくと予想していましたが、どうやら結果は次のようになります:

リーリー

ユーザーがクエリを実行できる Promise を返す関数 transactionBlock を作成することは可能だと思いますか。最後に、すべてのクエリに問題がなければ、関数 transactionBlock が次の処理を実行します。専念?

私はこれを使用します: npmjs.com/package/promise-mysql

###ありがとう さようなら###
P粉226667290P粉226667290191日前396

全員に返信(1)返信します

  • P粉512363233

    P粉5123632332024-03-31 10:11:13

    現在のアプローチの大きな問題は、finally() プロミス チェーンが解決するか拒否するかに関係なく、常に が実行されるため、トランザクションをコミットしたくないことです。そこには。

    ここではオプションが 1 つだけ表示されます...トランザクション本体を表すコールバック関数が必要です。

    一般に、読みやすさを高めるために async / wait 構文を使用することをお勧めします。

    リーリー

    このように電話をかけます

    リーリー

    Typescript を使用する場合、次のインターフェイスと型を使用するとスムーズな操作が保証されます。 リーリー

    返事
    0
  • キャンセル返事