私の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関数の役割は、非同期操作が失敗したときに呼び出し、非同期操作が報告されたエラーをパラメータとして渡すことです.
コードの例 、Promiseを知っていますか? 、Promiseが解決する痛みは何ですか? 、Promiseが解決する痛みの点は他の方法がありますか?もしあれば、挙げてください. 、Promiseはどう使いますか? 、Promiseでよく使われる方法は何ですか?それらの作用は何ですか? 、Promiseのイベントサイクルの実行過程はどうなりますか? 、Promiseの業界実現には何がありますか? 、Promiseのpolyfillを書くことができますか?
(答えがなくて、後で補充します)
Promise出現の背景
Promiseオブジェクトの二つの特徴
Promiseは3つの状態があります.1)pending初期状態2)fulfilled成功状態3)reject失敗状態、
非同期操作の結果だけが現在の状態を決定できます.他の操作はこの状態を変えることができません.
第二の特徴
Promiseの状態が変わると、いつでもこの結果が得られます.状態は逆ではなく、pendingからfulfilledになります.あるいは、pendingからrejectになります.
Promiseの三つの欠点
Promiseのコードインスタンスと使用方法
Promiseコンストラクタは、非同期動作の成功後のコールバック関数と非同期動作の失敗後のコールバック関数をそれぞれ表しているパラメータとして、この関数の2つのパラメータを受け入れます.それらは2つの関数です.また、JavaScriptエンジンが提供しています.自分で配置したのではありません.revove関数の役割は、Promiseオブジェクトの状態を「未完成」から与えます.「成功」になります.すなわち、非同期操作が成功したときに呼び出し、非同期操作の結果をパラメータとして渡します.reject関数の役割は、非同期操作が失敗したときに呼び出し、非同期操作が報告されたエラーをパラメータとして渡すことです.
コードの例
var promise = new Promise(function(resolve,reject){
if(/* */){
resolve(value);
}else{
reject(error);
}
});
Promiseに関するよくある面接問題(略書より)(答えがなくて、後で補充します)