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

在做原子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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值