ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6 の約束とはどういう意味ですか?

es6 の約束とはどういう意味ですか?

WBOY
WBOYオリジナル
2022-05-05 14:37:563633ブラウズ

es6 では、Promise は「コミットメント」を意味します。Promise は非同期操作の結果を表します。これは新しい非同期プログラミング ソリューションです。コード内ではオブジェクトとして表され、主にコールバック領域を解決するために使用されます。問題です。構文は「new Promise(function(resolve, request){..})」です。

es6 の約束とはどういう意味ですか?

このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。

es6 における Promise の意味は何ですか

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 によって設定されたコールバック関数がトリガーされます。引き起こされる。

下の図に示すように:

es6 の約束とはどういう意味ですか?例は次のとおりです:


新しい 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 ビデオ チュートリアル

Web フロントエンド ] から変更されます。

以上がes6 の約束とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。