node.js - Express でのグローバル例外処理
PHPz
PHPz 2017-05-16 13:35:30
0
2
1695

1. ルーティング例外をキャプチャするための次のサーバー構成は正しいですか?
サーバー.js

リーリー

2. 以下は、Promise (async/await) がない場合、通常通り例外がスローされ、サーバー
xxxRouter.js

でキャプチャされます。 リーリー

ただし、promise(async/await)の場合、コンソールにエラーが報告され、サーバー内のキャプチャがキャプチャできず、qタイムアウトが発生します

リーリー

xxxRouter.js

リーリー

3. 実際の使用では、すべてのルートが例外をトライ/キャッチして処理する必要があり、非常に冗長に感じられます

リーリー
PHPz
PHPz

学习是最好的投资!

全員に返信(2)
伊谢尔伦

async 関数は、処理する 2 番目のパラメーターの Promise 对象,这个函数中抛出的异常需要通过 Promise 对象的 catch()then() を返します。

もちろん、外側の関数で処理したい場合は await,就不是用 catch()then() 来处理了,而是像同步调用那样用 try ... catch ... を使用します。

私の印象では、Express 自体は Promise/yield/async/await をサポートしていません (新しいバージョンが関連するサポートを開発しているかどうかはわかりません)。現在では、Promise/yield/async/await のサポートが充実している Koa が一般的に使用されています。

いいねを押す +0
曾经蜡笔没有小新

process.on('unhandledRejection', processErrorHandler);

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート