作家
登录

深入解析Node.js中5种发起HTTP请求的方法

作者: 来源: 2017-08-17 17:01:27 阅读 我要评论

  • });  
  • 如不雅你想要一个应用正常方法处理HTTP请求的苦,那么Request是一个很好的选择。如不雅你想应用Promises,也可以签出request-promise库。

    Axios是一个基于promise的HTTP客户端,可以用于浏览器和Node.js。在处理须要更复杂的事宜链的代码时,应用Promises具有很大年夜的优势。 编写异步代码可能会令仁攀困惑,而Promises是这个问题的几种解决筹划之一。 它们甚至被用在其它说话中,比如Swift。

    Axios

    应用npm安装Axios,在终端中输入以下敕令:

    1. npm install axios@0.16.2 

    下面的代码实现雷同的功能,获得URL并解释当天的天文学图片。

    1. const axios = require('axios'); 
    2.   
    3. axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY'
    4.   .then(response => { 
    5.     console.log(response.data.url); 
    6.     console.log(response.data.explanation); 
    7.   }) 
    8.   .catch(error => { 
    9.     console.log(error); 
    10.   });  

    默认情况下,Axios可以解析JSON响应,异常便利。你也可以看到缺点处理是由.catch()完成的,如今我们都在应用 promises。

    Request

    你甚至可以经由过程axios.all提议多个并发请求,比如说你想一次性获得两天的天文图片可以如许做:

    1. var axios = require('axios'); 
    2.   
    3. axios.all([ 
    4.   axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2017-08-03'), 
    5.   axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2017-08-02'
    6. ]).then(axios.spread((response1, response2) => { 
    7.   console.log(response1.data.url); 
    8.   console.log(response2.data.url); 
    9. })).catch(error => { 
    10.   console.log(error); 
    11. });  

    异步代码很轻易地变得十分复杂并且不轻易处理, Axios很轻松的解决了这个问题,大年夜长远看来可以使你的开辟工作变得轻松。

    在开端之前,请先在本身的计算机上安装最新版的node.js和npm。

    SuperAgent

    与Axios类似,SuperAgent 是另一个风行的看维重要用于浏览器中的Ajax请求,但也实用于Node.js。应用以下敕令安装SuperAgent :

    1. npm install superagent@3.5.2 

    SuperAgent最酷的处所是能进行链式调用,你可以把其它函数链到像query()如许的请求上,并且添加参数。在前面的例子中我们都是手动添加它们。请留意 SuperAgent 是如何供给这种功能的:

    1. const superagent = require('superagent'); 
    2.   
    3. superagent.get('https://api.nasa.gov/planetary/apod'
    4. .query({ api_key: 'DEMO_KEY'date'2017-08-02' }) 
    5. .end((err, res) => { 
    6.   if (err) { return console.log(err); } 
    7.   console.log(res.body.url); 
    8.   console.log(res.body.explanation); 
    9. });  

    和axios一样,你也不消本身解析去JSON响应,这异常酷。

    Got

    如不雅你想用一个更轻量级的看维Got是别的一个选择。它也可用于Twilio Functions。

    再来一遍,实用npm安装Got:


        推荐阅读

        踢掉FB+PL:Apache的开源激进宣言?

      【51CTO晃荡】8.26 带你深度懂得清华大年夜学、搜狗基于算法的IT运维实践与摸索 哪里有榨取,哪里就有对抗身为常识产权圈里的专利人,笔者钦佩开源情怀,并曾写道:即使专利人也有专利情>>>详细阅读


      本文标题:深入解析Node.js中5种发起HTTP请求的方法

      地址:http://www.17bianji.com/lsqh/36783.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)