ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6 の約束とはどういう意味ですか?
es6 では、Promise は「コミットメント」を意味します。Promise は非同期操作の結果を表します。これは新しい非同期プログラミング ソリューションです。コード内ではオブジェクトとして表され、主にコールバック領域を解決するために使用されます。問題です。構文は「new Promise(function(resolve, request){..})」です。
このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。
Promise は約束を意味します。その背後にある中心的な考え方は、Promise は非同期操作の結果を表すということです。
は、es6 の新しい非同期プログラミング ソリューションであり、コード内ではオブジェクトとして表されます。
Promise は、js 非同期プログラミングによって提供されるソリューションであり、主にコールバック領域の問題を解決するために使用されます。
Promise には 3 つの状態があります。
保留中 (進行中) 初期状態
実行済み (成功) は操作を意味します成功です
拒否 (失敗) は操作が失敗したことを意味します
注: Promise オブジェクトの 3 つの状態は外部の影響を受けません。 、Promise に保存されている、将来終了するイベントのみが影響を受けます。つまり、非同期操作の結果のみが現在の状態を決定でき、他の操作はこの状態を変更できません。
Promise 状態が変更されると、元に戻すことはできません。
Pending ( in progress) 状態は、Fulfilled (成功) 状態に遷移できます。
Pending (進行中) 状態は、rejected (失敗) 状態に遷移できます。
promise これら 2 つの状況のみが状態を変更します。この 2 つの状況が発生すると、ステータスが変化するとステータスが固定され、常にこの結果が維持されます。
基本的な使用法
構文:
new Promise( function(resolve, reject) {...} /* executor */ )
原則:
Promise オブジェクトを構築するときは、executor を渡す必要があります。主要なビジネス プロセスは、executor 関数で実行されます。
Executor 関数は、Promise コンストラクターが実行されるとすぐに呼び出されます。resolve 関数とreject
関数はパラメーターとして Executor に渡されます。がそれぞれ呼び出されます。Promise のステータスは、履行または拒否に変わります。一度状態が変化すると再度変化することはなく、いつでもこの結果が得られます。
executor 関数でsolve 関数を呼び出した後、promise.then によって設定されたコールバック関数がトリガーされ、reject
関数を呼び出した後、promise.catch によって設定されたコールバック関数がトリガーされます。引き起こされる。
下の図に示すように:
例は次のとおりです:
新しい Promise オブジェクトを作成します
コールバック関数を渡す必要があります。コールバック関数には、解決 (解決) と拒否 (拒否) を表す 2 つのパラメーターがあり、どちらのパラメーターも関数です。
どちらのパラメーターも呼び出されない場合、デフォルトのpending state
let promise=new Promise(function(resolve,reject){ });//pending状态
Promiseの状態を表すresolve関数を呼び出し、pending==>fulfilledから変化します
let promise=new Promise(function(resolve,reject){ resolve(); });//fulfilled状态
Promiseの状態を表すreject関数を呼び出します。 pending==>rejected
let promise=new Promise(function(resolve,reject){ reject(); });//rejected 状态
【関連する推奨事項:
JavaScript ビデオ チュートリアル以上がes6 の約束とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。