2017-04-20 4 views
0

私はフレームワークなしで簡単なアプリケーションを開発しています。単純なES6アプリケーションからHttp操作を作成する方法

単純なHttpリクエスト(取得/投稿)を行うにはどうすればよいですか?

私はXMLHttpRequestを()について知っている:

var xhr = new XMLHttpRequest(); 

xhr.open('GET', 'phones.json', false); 

xhr.send(); 

if (xhr.status != 200) { 

    alert(xhr.status + ': ' + xhr.statusText); 
} else { 
    alert(xhr.responseText); 
} 

しかし、おそらく別の方法はありますか?

  • ライブラリを使用しないでください。

答えて

1

私の知る限り、es6 specificationsには、XMLHttpRequest APIを変更して簡単にするものは何もないので、あなたの質問には答えません。

あなたはまだlike here、インスタンスのためにそれをpromisifyingのように、それはより多くの「ES6スタイル」にするためにいくつかの行を記述する必要があります。

const request = (params) => { 
    return new Promise((resolve, reject) => { 
     const xhr = new XMLHttpRequest(); 
     xhr.open(params.method || "GET", params.url); 
     if (params.headers) { 
      Object.keys(params.headers).forEach(key => { 
       xhr.setRequestHeader(key, params.headers[key]); 
      }); 
     } 
     xhr.onload =() => { 
      if (xhr.status >= 200 && xhr.status < 300) { 
       resolve(xhr.response); 
      } else { 
       reject(xhr.statusText); 
      } 
     }; 
     xhr.onerror =() => reject(xhr.statusText); 
     xhr.send(params.body); 
    }); 
}; 
関連する問題