PromiseRejectionEventの位置情報を取得する
P粉447785031
P粉447785031 2024-02-17 18:06:26
0
1
451

#async 関数がエラーをスローする可能性のあるコードがあり、それらのキャッチされない throw は ## エラーをスローしないため、unhandledrejection イベントを使用してそれらを処理しています。 #error イベントは、Promise 内で発生するため発生します。したがって、私のエラーハンドラーは、ErrorEvent ではなく PromiseRejectionEvent を取得します。 これまでのところ、エラー処理は正常に動作しています。

しかし、

ここで小さな問題があります。つまり、PromiseRejectionEvent イベントには、位置情報を配置する ErrorEvent イベントとは異なり、位置情報がありません。エラーを発生させるコードです。中将は非常に役に立ちます。 コードで

async

関数が使用されておらず、ハンドラーが ErrorEvent イベント、event.filenameevent.lineno## を取得する場合# と event.colno が必要ですが、これらの cphpcn アクティビティは PromiseRejectionEventphpcnend にありません。 SO

私の質問は、

PromiseRejectionEvent をラップして再ディスパッチして、最終的に ErrorEvent が発生するようにする方法はありますか?位置情報 ? 私は次のようなことを試しました: リーリー

上記のコードは正しい

ErrorEvent

と関連するエラー メッセージ

を生成しますが、 すべての位置情報は役に立ちません (0 は行と列を表し、'' はファイルを表します)名前)。 ところで、unhandledrejection イベント ハンドラーでスタック トレースを取得することを確認しましたが、現在、カスタム クラスを使用してコードで Promise をラップすることはできません。 ###事前にどうもありがとうございました :)###

P粉447785031
P粉447785031

全員に返信(1)
P粉835428659

###はい!ただし、

ErrorEvent を自分で構築してディスパッチするだけでは実現できません。代わりに、reportError: を使用できます。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!