問題タブ [node-mssql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
304 参照

node.js - nodejs async/await が待機していない

2 つの await ステートメントがあるコード ブロックがあります。サーバーが初めて実行されたときは、SQL.connect を待機していると思います。これを介して(接続の時間を考慮して)数回の呼び出しがあった後、手順は正常に機能します。

これは NodeJS、MSSQL パッケージ用です。

なぜ私の最初の待機は待っていないのですか?

0 投票する
1 に答える
650 参照

javascript - JS - 未処理の約束

node.js Web アプリケーションを作成しました。現在、DBにMSSQLを使用しています。node-mssqlパッケージを追加しました。対応する SQL 関数を実行する関数をsql.jsという別のファイルに作成しました。controller.jsはawait キーワードでそれらを呼び出します。一度に 1 つのリクエストを行ったときはエラーはありませんでしたが、2 つのリクエストがほぼ同時に来ると、次のエラーが発生します。

(ノード:136648) UnhandledPromiseRejectionWarning: 未処理の約束の拒否 (拒否 ID: 1): ReferenceError: エラーが定義されていません
(ノード:136648) [DEP0018] DeprecationWarning: 未処理の約束の拒否は非推奨です。今後、処理されないプロミスの拒否は、ゼロ以外の終了コードで Node.js プロセスを終了します。

私は接続に関係があると思います.グローバル接続を使用していますが、controller.jsをデバッグし、プールが定義されていることを確認したので、問題の原因がわかりません.

SQL.js

controller.js

0 投票する
2 に答える
4625 参照

node.js - トランザクション型 mssql アプリの async/await バージョンは失敗するのに、コールバック バージョンは機能するのはなぜですか?

nodejs/mssql アプリケーションを動作させている問題を明らかにするために、トランザクションにラップされた単純な (準備された) INSERT ステートメントの 2 つの機能的に同等のバージョンをコーディングしようとしました。

コールバック バージョンが機能します - SQL Server db に行を挿入します。

async / await バージョンはエラーをスローします -

私は失敗したバージョンの多くのバリエーションを試しました (もっともらしいステートメントの並べ替え) が、以下に含まれるバージョンは、動作中のコールバック バージョンのロジックを最もよく模倣するバージョンです。

ありがとうございました!