ES6 では、コールバック地獄の問題を解決するために、文字通り約束を意味する Promise を紹介する記事が多く、私は長い間混乱していました。私自身のことを話しましょう、約束とは何ですか?
Promise はオブジェクトです (ナンセンスなことを言っているのではないかと多くの人が言うでしょう。js 内のすべてのものはオブジェクトです)。 。 。
Promise はオブジェクト内で呼び出されるオブジェクトです。最も一般的な書き方は次のとおりです:
function GetPromise(someting){
let p = new Promise(resolve,reject) //dosometing
resolve(str);
reject(str)
} return p
}
ログイン後にコピー
これは Promise を作成して使用する最も一般的な方法であり、その呼び出しメソッドは
GetPromise(somgting).then(function(){}).catch(function(){})
ログイン後にコピー
です。では、キャッチとは何なのか、決意はどこから来るのか、拒絶はどこから来るのか、私はこの問題に初めて触れたとき、この問題について考えていました。ネットで検索しても誰も適切に教えてくれませんでした。誰でも理解できるように、Then は成功のコールバック、catch は例外のコールバックです。コードを書くときは、必ず判断を使用します。たとえば、Promise は、内部的に提供される result にバインドされ、reject は catch にバインドされます。 Promise オブジェクトをインスタンス化するときに、実際に使用するときにどのコールバックをいつトリガーするかを内部で決定し、then と catch を通じて特定のコールバックをバインドします。 Promise を使用して非同期操作を実行する場合、成功したすべてのコールバックを解決に抽象化し、失敗したコールバックを拒否に抽象化します。実際の呼び出しでは、then と catch を介して特定のコールバック関数をバインドします。これは、もちろん、よりエレガントで抽象的なものです。 Promise のメソッドを説明しますが、どれだけ複雑であっても説明はしません。
以上がES6 Promise の簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。