Fetch, Node-fetch, Axios


Introduce


この文書は2021年1月20日に書かれています.
Axiosは、軽量レベルのAPI呼び出しライブラリです.
しかし、ノードfetchが似たような機能を持つノードfetchよりも少し重い.
  • Axios || ver 0.25.0/49 file/396 kB
  • Node-fetch || ver 3.1.1/17 file/103 kB
  • 詳細な違いを知りたい場合は、次の🤔 「Axios vsノードfetch」を参照してください.

    Installation


    npm i axios

    Theory


    Axiosの使用方法は、フォームに適合するparamsをターゲットURLに送信することです.
    ただし,Nodeはシングルスレッドサーバであり,この部分ではエラー処理が必要である.
    従来のやり方で作業します().then().catch()も可能ですが、それならES 6のasync waitを使います.
    それはもっときれいだから!

    Old JavaScript

    var axios=required("axios");
    var BASE_URL="http://yts-proxy.now.sh/";
    var API_URL=BASE_URL+"list_movies.json";
    
    module.exports.getData=function(args1, args) {
      var data=axios("API_URL",{
          params: {
            limit, minimum_rating;rating
          }
        }).then(function (response) {
          return response;
        }.catch(function (error) {
          return console.log(error);
        });
      return data;
    }

    Modern JavaScript

    import axios from "axios";
    const BASE_URL="https://yts-proxy.now.sh/"
    const API_URL=`${BASE_URL}list_movies.json`;
    
    export const getData=async(args1,args2)=>{
      const data=await axios(API_URL, {
        params: {
          limit, minimum_rating:rating
        }
      });
      
      return data;
    }

    🤔 Fetch vs Node-fetch vs Axios


    クローンエンコーディング学習により、強力なメリットが得られます.
    それは、先辈の开発者が难しい技术や技术を素早く学び、身につけることができるということです.
    しかし、この過程が繰り返されるにつれて、私は自分が本当に頭が良くて起きられない人だと感じました.
    だから私が学んだことを思い出すと、私の知らないことが想像以上に多いことに気づきます.
    だからこんなテーマを書きました

    #Fetch,Node-fetch,Axiosという友達の違いは何ですか?


    Fetchは高速反応Nativeと同じ位置にある
    Axiosは安定性を追求しているReactとか?
    本当にこの基準で選べますか?
    3人の違いは何ですか.
    どのような場合にどの機能を使うのが正しいですか?
    しかし、作者として、私は1年の学生で、私が以下の招待状を参考にしたことを知ってほしいです.
    Slack || Fetch from js VS Node-Fetch from node
    Git || See known differences As of v.2.x
    Git || See known differences As of v.3.x
    Geeks || Difference between Fetch and Axios.js for making http requests
    Blog || Performing HTTP Requests: Fetch Vs Axios

    😒 Fetch vs Node-Fetch ?



    Slackに関するRefの投稿があります.次のようなものがあります.
    年などは違いますが、私と一緒に勉強して間もない苗は両者の違いが気になります.
    全部で2つの答えがあります.
    Node.js does not come with the fetch libriary per default. Fetch API does only exist in webbrowsers under window.fetch. Node-fetch is just a lightweight libriary containing this webbrowser fetch.
    That said to install and use fetch in Node.js use following commands:
    この内容を見て昨日勉強したノードJS教科書第2版を改訂した内容を思い出しました.
    この教材は、NodeがブラウザやWindow内蔵関数をサポートしていないことを示しています.
    しかし、実際には、符号化の過程で、同じ機能を実現しただけの完全に同名の関数がいくつかある.
    その通りです.
    外部APIから情報を取得するfetchも、必要に応じてノードのために作成されるモジュールである可能性がある.
    2番目の答えは想像以上に理解しにくい.
    We can try to fetch the external API from the browser. That can give Cross Origin Resource Sharing (CORS) errors if the endpoint does not want you to access their API from a browser
    Then you can write a proxy that accesses the external API from the server, that will be allowed regardless of CORS settings
    So accessing an API from NODE will always work (assuming no need for authentication) and fetch from browser may or may not work directly.
    NOTE: node-fetch is not native to node
    私の知る限り、外部APIから情報を取得することは可能です.
    fetchでは、コード実行、エンドポイントでCORS、Cross-Originリソース共有、クロスリソース共有エラーが発生する可能性があります.
    ただし、ノードで実行されるnode-fetchは、CORS設定を考慮することなくコードを実行することができます.
    だからCORSは何ですか?
    Googleは次の投稿を発見しました.
    [Broswer]CORSとは?
    httpがhttpサーバに要求を送信すると、CORSが発生する可能性があります.
    CORSが発生する理由の詳細については、このドキュメントの範囲を離れて上記の記事を参照してください.
    とにかく.
    ノードfetchを用いることが好ましく,Fetchを用いる場合は個別の処理が必要であることが分かった.

    😒 Node-Fetch vs Axios ?


    実はノードフェッチの説明を見ているだけでAxiosに開発と使用の理由はないと思います
    しかし、Geeks || Difference between Fetch and Axios.js for making http requestsから見ると、以下のような内容がある.

    以前、Nomad Cordersのクローンコードの授業でも聞いたことがあるのを覚えています.
    Node-fetchは速度は速いが,要求が間違っていれば無限回帰などの現象を引き起こす.
    したがって,安定性を必要とする主なサービスではAxiosを用いる.
    では、本当にAxiosしか使いませんか?
    制作日から、ノードフィードのダウンロード数は約3500万、Axiosのダウンロード数は2200万.(weekly)
    この点はタイトスカートの実績や先輩方の経験がない私には理解できません.
    しかし、自分の必要に応じて選べばいいという言葉があります.
    Blog || Performing HTTP Requests: Fetch Vs Axios
    最終的に、私が実行するサービスはフロントですか、バックグラウンドですか.
    すでに重くなっているので、軽量化が必要かどうかなどは重要ではないようです.
    しかし、その基準点を知ることは私には理解できません.