Promise


Promiseバー
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です.
  • Fulfilled(履行済み):非同期処理を完了し、プロセスから結果値
  • を返す
    new Promise(function(resolve, reject) {
      resolve();
    });
    コールバック関数のパラメータ解析では、次の操作を実行すると「充填済」状態になり、「充填済」状態は「履行済」状態になり、「後」()を使用して処理結果値を取得できます.
  • Rejected(失敗):非同期処理失敗またはエラーステータス
  • 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);
    });