如不雅你想要一个应用正常方法处理HTTP请求的苦,那么Request是一个很好的选择。如不雅你想应用Promises,也可以签出request-promise库。
Axios是一个基于promise的HTTP客户端,可以用于浏览器和Node.js。在处理须要更复杂的事宜链的代码时,应用Promises具有很大年夜的优势。 编写异步代码可能会令仁攀困惑,而Promises是这个问题的几种解决筹划之一。 它们甚至被用在其它说话中,比如Swift。
Axios
应用npm安装Axios,在终端中输入以下敕令:
- npm install axios@0.16.2
下面的代码实现雷同的功能,获得URL并解释当天的天文学图片。
- const axios = require('axios');
- axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY')
- .then(response => {
- console.log(response.data.url);
- console.log(response.data.explanation);
- })
- .catch(error => {
- console.log(error);
- });
默认情况下,Axios可以解析JSON响应,异常便利。你也可以看到缺点处理是由.catch()完成的,如今我们都在应用 promises。
Request
你甚至可以经由过程axios.all提议多个并发请求,比如说你想一次性获得两天的天文图片可以如许做:
- var axios = require('axios');
- axios.all([
- axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2017-08-03'),
- axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2017-08-02')
- ]).then(axios.spread((response1, response2) => {
- console.log(response1.data.url);
- console.log(response2.data.url);
- })).catch(error => {
- console.log(error);
- });
异步代码很轻易地变得十分复杂并且不轻易处理, Axios很轻松的解决了这个问题,大年夜长远看来可以使你的开辟工作变得轻松。
在开端之前,请先在本身的计算机上安装最新版的node.js和npm。
SuperAgent
与Axios类似,SuperAgent 是另一个风行的看维重要用于浏览器中的Ajax请求,但也实用于Node.js。应用以下敕令安装SuperAgent :
- npm install superagent@3.5.2
SuperAgent最酷的处所是能进行链式调用,你可以把其它函数链到像query()如许的请求上,并且添加参数。在前面的例子中我们都是手动添加它们。请留意 SuperAgent 是如何供给这种功能的:
- const superagent = require('superagent');
- superagent.get('https://api.nasa.gov/planetary/apod')
- .query({ api_key: 'DEMO_KEY', date: '2017-08-02' })
- .end((err, res) => {
- if (err) { return console.log(err); }
- console.log(res.body.url);
- console.log(res.body.explanation);
- });
和axios一样,你也不消本身解析去JSON响应,这异常酷。
Got
如不雅你想用一个更轻量级的看维Got是别的一个选择。它也可用于Twilio Functions。
再来一遍,实用npm安装Got:
推荐阅读
【51CTO晃荡】8.26 带你深度懂得清华大年夜学、搜狗基于算法的IT运维实践与摸索 哪里有榨取,哪里就有对抗身为常识产权圈里的专利人,笔者钦佩开源情怀,并曾写道:即使专利人也有专利情>>>详细阅读
本文标题:深入解析Node.js中5种发起HTTP请求的方法
地址:http://www.17bianji.com/lsqh/36783.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示