
## ano-request

##目的：

* 请求库：一个请求库，包含基本的请求能力，还有一些额外的功能，比如：请求参数的检查，并发请求，请求拦截器，响应拦截器，中断请求，功能也在不断更新中

##有问题反馈
这是我在 NPM上 的第四个插件，也是第一次写请求库，希望各位大佬在使用中有任何问题及性能优化建议，欢迎反馈给我，可以用以下联系方式跟我交流，感谢！

* 邮件(519855937#qq.com, 把#换成@)
* 微信:wqn30303
* QQ: 519855937

##tips：

在兴趣的驱动下,写一个`免费`的东西，有欣喜，也还有汗水，希望你喜欢我的作品，同时也能支持一下。

##关于作者

```javascript
var author = {
  nickName:"王秋宁",
  direction:"一个平平无奇的小前端~~~~"
}
```

##关于使用

* 直接通过 npm install ano-request 下载


```javascript
    引入 ano-request/index.js 中的 reqMain 方法

    如果你要使用中断请求功能，则需要再引入 globalKey,generateRequestId,abortFn,abortAllFn 三个方法，并在发送每条请求前使用 generateRequestId 生成一个唯一的请求KEY，globalKey这个是生成的key，在你需要的地方使用 abortFn(globalKey) 来中断请求，使用 abortAllFn() 来中断所有请求;

    如果你需要自定义请求并发数，则可以在 index.js 中 25 行的 let concurrentReq = new _fetch() 填入数字,现在默认并发数为 5

    请求方法使用示例：
    
    async function reqFn(){
        let result = await reqMain(
            'xxx',
            {
                // 请求方法
                method:'get',
                // 请求参数
                params:{
                    id:1
                },
                // 自定义请求头
                selfHeader:{
                    'testHeader':'hehehe'
                },
                // 自定义请求拦截器规则
                rulesArr:[
                    {
                        /** 判断条件
                         * params: 参数为已经处理好的参数
                         */
                        rule:function(params){
                            return params.method === 'get';
                        },
                        errorFn:function(){
                            console.log('请求方法错误！')
                        }
                    },
                    {
                        rule:function(params){
                            return params.id === 1;
                        },
                        errorFn:function(){
                            console.log('ID 错误！')
                        }
                    },
                    ...
                    ...
                    ...
                ]
            }
        )
    }
        
```