JavaScript で setTimeout() を使用して Promise を拒否すると、キャッチされない (Promise) エラーが発生する
P粉139351297
P粉139351297 2023-09-05 17:39:46
0
2
491
<p>私は JavaScript で Promise を学習しています。タイムアウトを 3 秒に設定して Promise を拒否するという単純な Promise を実装することにしました。拒否した後、エラーをキャッチして HTML 要素に表示します。 Promise は完全に実行され、メッセージが表示されますが、コンソールに次のエラーが表示されます。 </p> <pre class="brush:php;toolbar:false;">捕まらない(約束で)私はあなたが嫌い​​です Promise.then (非同期) (匿名)</pre> <p>参考用のコードは次のとおりです -</p> <p> <pre class="snippet-code-js lang-js prettyprint-override"><code>const myPromise = new Promise(function(myResolve, accept) { setTimeout(() => { 拒否('私はあなたが嫌い​​です'); }, 3000); }); myPromise.then(関数(値) { document.getElementById("demo").innerHTML = 値; }); myPromise.catch( error => { console.log("捕まえています"); document.getElementById("demo").innerHTML = エラー; });</code></pre> <pre class="snippet-code-html lang-html prettyprint-override"><code><h2>JavaScript Promise</h2> <p>このページが変わるまで 3 秒 (3000 ミリ秒) 待ちます。</p> <h1 id="デモ"></h1></code></pre> </p> <p>私の間違いを理解するのを手伝ってください。 </p>
P粉139351297
P粉139351297

全員に返信(2)
P粉748218846

これはうまくいくはずです

リーリー
いいねを押す +0
P粉696891871

リーリー

.then

の後のエラーをキャッチする必要があります。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート