私のPromiseに対する理解とよくある面接問題を話してください.

2041 ワード

Promiseに対する理解を話します.
  • 1.Promiseの役割
  • Promise出現の背景
  • Promiseオブジェクトの2つの特徴
  • **第一の特徴:3つの状態*
  • があります.
  • 第二の特徴
  • Promiseの3つの欠点
  • Promiseのコード例及び使用方法
  • コード例
  • Promiseに関するよくある面接問題(略書より)
  • 1.Promiseの役割
    Promise出現の背景
  • JavaScriptの世界ではすべてのコードが単一スレッドで実行されているため、この特殊な概念だけに、JavaScriptのすべてのネットワーク要求、操作、およびいくつかのブラウザのイベントは、非同期的に実行されなければならないが、非同期的には、コールバック関数を使用することができます.「リプピラミッド」は、コードの可読性を大幅に低減し、コードのデバッグが悪くなると性能が低下します.この時、コミュニティが提案し、実現した非同期プログラミングを解決するプログラムがあります.他の伝統的な解決法(コールバック関数とイベント)よりも.より合理的で強力です.ES 6は言語標準に書き、用法を統一しました.プロミスオブジェクトを提供しました.ES 6はPromiseオブジェクトは構造関数であり、Promiseインスタンスを生成するために使用されます.
    Promiseオブジェクトの二つの特徴
  • 、Promiseオブジェクトの状態は外部の影響を受けません.Promiseオブジェクトは非同期操作を表します.非同期操作だけがPromiseオブジェクトの状態に影響を与えます.第一の特徴は3つの状態
  • です.
    Promiseは3つの状態があります.1)pending初期状態2)fulfilled成功状態3)reject失敗状態、
    非同期操作の結果だけが現在の状態を決定できます.他の操作はこの状態を変えることができません.
    第二の特徴
    Promiseの状態が変わると、いつでもこの結果が得られます.状態は逆ではなく、pendingからfulfilledになります.あるいは、pendingからrejectになります.
    Promiseの三つの欠点
  • .Promiseをキャンセルできません.新しいものができたらすぐ実行します.途中でキャンセルできません.
  • .コールバック関数が設定されていない場合、Promise内部で投げられたエラーは外部
  • に反映されません.
  • .ペンディング状態にあると、どの段階まで進行しているのか分かりません.開始したばかりですか?それとも完成しますか?
    Promiseのコードインスタンスと使用方法
    Promiseコンストラクタは、非同期動作の成功後のコールバック関数と非同期動作の失敗後のコールバック関数をそれぞれ表しているパラメータとして、この関数の2つのパラメータを受け入れます.それらは2つの関数です.また、JavaScriptエンジンが提供しています.自分で配置したのではありません.revove関数の役割は、Promiseオブジェクトの状態を「未完成」から与えます.「成功」になります.すなわち、非同期操作が成功したときに呼び出し、非同期操作の結果をパラメータとして渡します.reject関数の役割は、非同期操作が失敗したときに呼び出し、非同期操作が報告されたエラーをパラメータとして渡すことです.
    コードの例
    
    var promise = new Promise(function(resolve,reject){
      if(/*        */){
        resolve(value);
      }else{
        reject(error);
      }
    });
    
    Promiseに関するよくある面接問題(略書より)
  • 、Promiseを知っていますか?
  • 、Promiseが解決する痛みは何ですか?
  • 、Promiseが解決する痛みの点は他の方法がありますか?もしあれば、挙げてください.
  • 、Promiseはどう使いますか?
  • 、Promiseでよく使われる方法は何ですか?それらの作用は何ですか?
  • 、Promiseのイベントサイクルの実行過程はどうなりますか?
  • 、Promiseの業界実現には何がありますか?
  • 、Promiseのpolyfillを書くことができますか?
    (答えがなくて、後で補充します)