Promise
1951 ワード
Promiseバー
JavaScript非同期処理用のオブジェクト.非同期処理とは、「特定のコードの実行完了を待たずに、次のコードを先に実行するJavaScriptの特性」です.Promiseの前に,主にコールバックモードを用いて非同期処理を行った.しかし,コールバックホール(Callback Hell)のため可読性も悪く,非同期処理中に発生したエラー処理は非常に困難であった.Promiseはこれらの欠点を補うために提案された代替案と言える.
使用方法
しじじょうたい保留(代替):非同期処理ロジックがまだ完了していません Fulfilled(履行済み):非同期処理を完了し、プロセスから結果値 を返す Rejected(失敗):非同期処理失敗またはエラーステータス
複数のPromiseを接続
Promiseのもう一つの特徴は、複数のPromiseに接続して使用できることです.前の例でthen()メソッドを呼び出すと、新しいPromiseオブジェクトが返されます.従って、以下のように符号化することができる.
1.then()の2番目のパラメータを使用してエラーを処理する方法
JavaScript非同期処理用のオブジェクト.非同期処理とは、「特定のコードの実行完了を待たずに、次のコードを先に実行するJavaScriptの特性」です.Promiseの前に,主にコールバックモードを用いて非同期処理を行った.しかし,コールバックホール(Callback Hell)のため可読性も悪く,非同期処理中に発生したエラー処理は非常に困難であった.Promiseはこれらの欠点を補うために提案された代替案と言える.
使用方法
function getData(callback) {
return new Promise(function(resolve, reject) {
$.get('url 주소/products/1', function(response) {
resolve(response);
});
});
}
getData().then(function(tableData) {
});
return new Promise(function(resolve,reject))
や.then
などを用いて記述されている.しじじょうたい
new Promise(function(resolve, reject) {});
new Promise()メソッドを呼び出すと、コールバック関数を宣言できます.コールバック関数のパラメータはdiscover、executeです.new Promise(function(resolve, reject) {
resolve();
});
コールバック関数のパラメータ解析では、次の操作を実行すると「充填済」状態になり、「充填済」状態は「履行済」状態になり、「後」()を使用して処理結果値を取得できます.new Promise(function(resolve, reject) {
reject();
});
getData().then().catch(function(err) {
console.log(err); // Error: Request is failed
});
上記のように、呼び出しの拒否は失敗します.また、catch
で失敗した理由が得られる.複数のPromiseを接続
Promiseのもう一つの特徴は、複数のPromiseに接続して使用できることです.前の例でthen()メソッドを呼び出すと、新しいPromiseオブジェクトが返されます.従って、以下のように符号化することができる.
function getData() {
return new Promise({
// ...
});
}
// then() 으로 여러 개의 프로미스를 연결한 형식
getData()
.then(function(data) {
// ...
})
.then(function() {
// ...
})
.then(function() {
// ...
});
エラー処理方法1.then()の2番目のパラメータを使用してエラーを処理する方法
getData().then(
handleSuccess(){},
handleError(){}
);
2.catch()の使い方getData().then().catch(function(err) {
console.log(err);
});
Reference
この問題について(Promise), 我々は、より多くの情報をここで見つけました https://velog.io/@sejung1997/225テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol