使用request-promise验证url的可访问性

来源:互联网 发布:乐视线刷软件 编辑:程序博客网 时间:2024/06/08 03:06

在做原子API的组合,组合之后需要验证组合API的有效性。验证思路:首先获取组合API的所有组成原子API,一次访问所有的API,若所有的原子API都可以访问,便访问组合API,最后返回原子API和组合API的测试结果。否则返回原子API的测试失败的结果。


刚开始想使用request模块,但是request访问的结果在回调函数中,如果组合API包含的原子API过多的话,会出现回调灾难。刚好在request的GitHub上发现了request-promise模块,可以使用promise,async和await。这样试下思路就非常明了了。


代码实现

var rp = require('request-promise');async function request(url){    return new Promise(function(resolve){        rp(url)            .then(function(){                resolve(true);            })            .catch(function(){                resolve(false);            });    });}var data = ["/bookTo", "/bookBack", "/refundTo", "/getService"];var host = "http://www.linyimin.club:10010";async function test(){    for(let i = 0; i < data.length; i++){        let result = await request(host + data[i]);        console.log(data[i] + ":" + result);    }}test ();

程序执行结果:
这里写图片描述

注意以下程序和上述程序的区别:

var rp = require('request-promise');async function request(url){    return new Promise(function(resolve){        rp(url)            .then(function(){                resolve(true);            })            .catch(function(){                resolve(false);            });    });}var data = ["/bookTo", "/bookBack", "/refundTo", "/getService"];var host = "http://www.linyimin.club:10010";    for(let i = 0; i < data.length; i++) {        (async function test() {            let result = await request(host + data[i]);            console.log(data[i] + ":" + result);        })();    }

这里写图片描述

使node

原创粉丝点击