1. 複数の .catchvar p = new Promise((resolve, deny) => { 拒否(エラー('失敗しました!')) }) p.catch(エラー => console.log(エラー.メッセージ)) p.catch(エラー => console.log(エラー.メッセージ)) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析: コンストラクター メソッドを使用して Promise を作成し、拒否コールバックを介してすぐにエラーをトリガーします。 次に、.catch は DOM の .addEventListener(event, callback) または Event Emitter の .on(event, callback) と同様に動作し、複数のコールバックを追加できます。それぞれ同じ引数で呼び出されます。 2. 複数の .catchvar p = new Promise((resolve, deny) => { Promise.reject(Error('失敗しました!')) を返します }) p.catch(エラー => console.log(エラー.メッセージ)) p.catch(エラー => console.log(エラー.メッセージ)) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析: Promise コンストラクターを使用する場合は、resolve() または reject() コールバックのいずれかを呼び出す必要があります。 Promise コンストラクターは戻り値を使用しないため、実際には Promise.reject() によって作成された別の Promise を受け取ることはありません。 Promise.reject() の後に .catch がない場合、答えは UnhandledPromiseRejectionWarning です。 3. .then と .catch の連鎖var p = new Promise((resolve, deny) => { 拒否(エラー('失敗しました!')) }) .catch(エラー => console.log(エラー)) .then(エラー => console.log(エラー)) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析 .then と .catch を連鎖させるときは、それらを一連のステップとして考えると便利です。各 .then は、前の .then によって返された値を引数として受け取ります。ただし、「step」でエラーが発生した場合、後続の .then 「step」は .catch に遭遇するまでスキップされます。エラーを上書きしたい場合は、エラー以外の値を返すだけです。後続の .then を介してアクセスできます。 ヒント: console.log() は常に undefined を返します。 4. リンクキャッチvar p = new Promise((resolve, deny) => { 拒否(エラー('失敗しました!')) }) .catch(エラー => console.log(エラー.メッセージ)) .catch(エラー => console.log(エラー.メッセージ)) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析 .catch を連鎖させると、それぞれは前の .then または `.catch "ステップ" で発生したエラーのみを処理します。この例では、最初の .catch は console.log を返しますが、これには 2 つの .catch の後に .then() を追加することによってのみアクセスできます。 5. 複数の .catch新しい Promise((resolve, 拒否) => { 解決します('成功しました!') }) .then(() => { throw Error('Oh noes!') }) .catch(エラー => { 「実は、うまくいきました」と返します }) .catch(エラー => console.log(エラー.メッセージ)) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析 ヒント: .catch は通常の値を返すことでエラーを無視 (または上書き) することができます。 このトリックは、後続の .then が値を受け取った場合にのみ機能します。 6..次に処理するPromise.resolve('成功しました!') .then(データ => { data.toUpperCase() を返す }) .then(データ => { コンソール.log(データ) }) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析 ヒント: .then は、戻り値から次の .then(value => /* ハンドル値 */) にデータを順番に渡します。 次の .then に値を渡すには、return が鍵となります。 7..次に処理するPromise.resolve('成功しました!') .then(データ => { data.toUpperCase() を返す }) .then(データ => { コンソール.log(データ) データを返す }) .then(コンソール.log) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析: 呼び出される console.log 呼び出しが 2 つあります。 8..次に処理するPromise.resolve('成功しました!') .then(データ => { データ.toUpperCase() }) .then(データ => { コンソール.log(データ) }) 上記のコードの出力は何でしょうか?正しい答えを選択してください:
分析: ヒント: .then は、戻り値から次の .then(value => /* ハンドル値 */) にデータを順番に渡します。 次の .then に値を渡すには、return が鍵となります。 9. .then と .catch 間のフローPromise.resolve('成功しました!') .then(() => { throw Error('Oh noes!') }) .catch(エラー => { 「実は、うまくいきました」と返答する }) .then(データ => { throw Error('失敗しました!') }) .catch(エラー => console.log(エラー.メッセージ)) 上記は、JS Promise の面接の質問 9 つについての詳細です。JS Promise の面接の質問の詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
<<: Linux での Docker と portainer の設定方法
>>: MySQL の条件文で 1 つの情報しか読み取れない問題に対する 2 つの解決策
Win10 システムをインストールしていて、k8s クラスターを構築する場合、Win10 に付属する...
今日、研究室のプロジェクトを見ていたとき、私にとって「難しい」問題に遭遇しました。実は、それは私があ...
今日は、新しく購入した Alibaba Cloud ECS 環境 (Ubuntu 16.04 LTS...
Web 開発の世界では、フレームワークは非常に一般的です。新しいフレームワークやテンプレートが毎日の...
なぜこのような記事を書いたかというと、数日前の夜、仕事が終わろうとしていたときに、業務側で突然、テー...
目次1. 縦方向のスライス1.1 垂直データベース1.2 垂直テーブル分割2. 水平(横断)セグメン...
問題の説明:フロントエンドがデータの一部を削除したり、新しいデータを追加したりすると、バックエンドの...
目次1. 構造体はメモリにどのように保存されますか? 2. container_ofマクロ3. 型4...
Docker はますます成熟し、その機能もますます強力になっています。 Docker Stack を...
docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...
この記事では、効率を向上させ、時間を節約することを願って、最も効果的な 6 つの方法を紹介します。 ...
序文決まり文句です。ここでは、フロントエンドとバックエンドの分離についての私の理解についてお話ししま...
Linux システムの bash history コマンドは、以前に実行したコマンドを記憶し、再入力...
原則的にはwindow.print()メソッドを呼び出すことですが、このメソッドは現在のページ全体を...
Linuxシステムでサービスの起動とシャットダウンを構成する1. コマンドcd /etc/init....