ECサイト構築・リニューアルならクラウド型ECサイト構築ASPサービスサイトへ
資料請求
TOP

CATEGORY

SERVICE

【JavaScript】jQueryより軽量なSuperAgentを使ってみよう

  • 2016.03.28
  • 2016.05.12
  • 技術
【JavaScript】jQueryより軽量なSuperAgentを使ってみよう

こんにちは、開発部のまつおかです。

今日は非同期処理のライブラリとして使用できる「SuperAgent」というものを紹介しようと思います。

SuperAgentってなに?

非同期処理に特化したJavaScriptライブラリです。

最近は、React.jsやVue.jsなどのフレームワークが使われることが増えてきてますよね。(※ここではReact.jsやVue.jsの説明は割愛します)

そのReactやVueでは基本的に直接DOM操作することは望まれていない、というのがあげられます。となると、普段よく使用するjQueryも非同期処理でしか使わなくなるということになってきます。

(非同期処理のためだけに、比較的サイズの大きいjQueryを読み込む事になるのかぁ・・・)
というような時に使えるのがSuperAgentになります。

前述の通り、「非同期処理に特化したライブラリ」ですのでその他余計な処理は一切ありません。ですのでサイズがjQueryに比べてグッと小さくなり、ほんの少しだけレンダリングの速度も短くなるということになるんでしょうね。

ほんの一例のみになりますが、jQueryでの記述方法と比較しながらSuperAgentでの記述方法を紹介していきます。

GET/POST通信

jQueryでもよく使われるであろうPOST通信の例です。

jQueryでの書き方(他の書き方もあります)

$.ajax({
  type: 'POST',
  url:  'hogeApi.php',
  data: {hoge: fuga}
}).done(function(res) {
  console.info(res);
  console.log('success');
}).fail(function() {
  console.error('error');
}).always(function() {
  console.log('complete');
});

SuperAgentでの書き方

var request = window.superagent;
request
  .post('hogeApi.php')
  .send({hoge: fuga})
  .end(function(err, res){
     if (res.ok) {
       console.info(res.body);
       console.log('success');
     } else {
       console.error('error');
     }
    console.log('complete');
  });

あまり大差ありませんね!
ちなみにGETの場合は、こうなります。

var request = window.superagent;
request
  .get('hogeApi.php')
  .query({hoge: fuga})
  .end(function(err, res){
     if (res.ok) {
       console.info(res.body);
       console.log('success');
     } else {
       console.error('error');
     }
    console.log('complete');
  });
終わりに

いかがでしょう。

多少記述方法に違いがありますが、感覚的には同じように書けてしまうのでそこまで学習コストも高くなさそうですね。

さらにjQueryより軽量だということで、「DOM操作にjQueryを使用しない」という前提があればこちらのライブラリを使うという選択肢も出てきます。

※ちなみに、SuperAgentはJSONPには対応していないようです。(superagent-jsonpというものがあるそうですが、、、)

以上、開発部まつおかでした!

                   
商品の販売に“夢中”になれる
クラウド型ECサイト構築ASP

ECサイト構築、リニューアルを2000社以上支援してきた知見から
ECの専門家として御社のEC事業成長をサポートします。

  • 導入実績2000社以上


    導入実績

  • 注文単価増加率114%

    導入1年後の
    注文単価
    増加率

  • 売上成長率128%

    導入1年後の
    売上成長率

  • EC支援歴20年


    EC支援歴

         

技術カテゴリの最新記事