JavaScriptのes 6にPromiseオブジェクトが追加されました.
2023 ワード
Promiseオブジェクトは以下の二つの特徴があります.
対象の状態は外部の影響を受けない.Promiseオブジェクトは非同期操作を表しています.3つの状態があります.ペンディング:初期状態は成功や失敗の状態ではありません. fulfilled:操作が成功したことを意味する. rejeced:操作が失敗したことを意味します. 状態が変わると、もう変わらなくなります.いつでもこの結果が得られます.Promiseオブジェクトの状態が変わるのは、PendingからReolvedに変化することとPendingからRejectiedに変化することしかできません.この二つの状況が発生すれば、状態が固まり、これ以上変わることなく、ずっとこの結果を維持します.変更が発生したとしても、Promiseオブジェクトに対してコールバック関数を追加すると、すぐにこの結果が得られます.イベントとは全く違って、イベントの特徴は、それを見逃してしまったら、また傍聴しても結果が得られないということです.
Promiseの長所と短所
Promiseオブジェクトがあると、非同期動作の流れを同期させて表現でき、入れ子の回転関数が回避されます.また、Promiseオブジェクトは、非同期動作を制御することが容易になるように、統一されたインターフェースを提供する.
Promiseにもいくつかの欠点があります.まず、Promiseをキャンセルすることができません.新築したらすぐ実行します.途中でキャンセルできません.次に、コールバック関数を設定しないと、Promise内部で投げられたエラーは外部に反応しません.第三に、Pendingの状態では、どの段階に進行しているかが分かりません.
Promiseの作成
既に実装されているプロミセオブジェクトに対してプロミゼ.then()方法を呼び出すことができ、resoveとreject方法をフィードバックとして伝えることができます.
promise.thenはpromiseで一番よく使われる方法です.promise.then(onFulfilled、onRejeced)
promiseはerrorに対する処理を簡略化しました.上のコードは私達もこのように書くことができます.promise.then.catch(onFulfilled).
対象の状態は外部の影響を受けない.Promiseオブジェクトは非同期操作を表しています.3つの状態があります.
Promiseの長所と短所
Promiseオブジェクトがあると、非同期動作の流れを同期させて表現でき、入れ子の回転関数が回避されます.また、Promiseオブジェクトは、非同期動作を制御することが容易になるように、統一されたインターフェースを提供する.
Promiseにもいくつかの欠点があります.まず、Promiseをキャンセルすることができません.新築したらすぐ実行します.途中でキャンセルできません.次に、コールバック関数を設定しないと、Promise内部で投げられたエラーは外部に反応しません.第三に、Pendingの状態では、どの段階に進行しているかが分かりません.
Promiseの作成
let promiseDemo = new Promise((resolve, reject) => {
// code
resolve('success')
// code
reject('failed')
})
promiseDemo.then((result) => {
console.log(result)
}, (result) => {
console.log(result)
})
promise , reject('failed') 。
promise then
promiseDemo.then((result) => {
console.log(result)
}, (result) => {
console.log(result)
})
catch, :
promiseDemo.then((result) => {
console.log(result)
}).catch((result) => {
console.log(result)
})
,
promiseDemo.then((result) => {
console.log(result)
}) //
promiseDemo.catch((result) => {
console.log(result)
}) // ,
promiseDemo.then(null, (result) => {
console.log(result)
}) //
Promiseコンストラクタは一つのパラメータと一つのreolve(解析)とreject(拒否)の二つのパラメータを持つリピートを含む.コールバックでいくつかの動作(例えば、非同期)が実行され、すべてが正常であれば、rejectを呼び出します.既に実装されているプロミセオブジェクトに対してプロミゼ.then()方法を呼び出すことができ、resoveとreject方法をフィードバックとして伝えることができます.
promise.thenはpromiseで一番よく使われる方法です.promise.then(onFulfilled、onRejeced)
promiseはerrorに対する処理を簡略化しました.上のコードは私達もこのように書くことができます.promise.then.catch(onFulfilled).