NODE_node.js并发请求

安装axios

npm install axios

config.js

module.exports = {
    //请求地址
    URL:'https://127.0.0.1',
    //请求次数  修改后可不重新生成文件
    REQUEST_NUM:1,
    //并发次数  修改后需要重新生成文件
    CONCURRENT_NUM:10,
    //请求延迟时间  修改后可不重新生成文件
    INTERVAL_TIME:0
};

setfile.js

const fs = require('fs') // 引入fs模块
const config = require('./config');

let data =
`const axios = require('axios');
const qs = require('qs');
const path = require('path');
const config = require('./config');
let request_num = 0 
`
let fd = ``
for (let index = 0; index < config.CONCURRENT_NUM; index++) {
  fd+= `test${index}(),`
  data+=`
    async function test${index}() {
      return await axios({
          method: 'GET',
          headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
          url: config.URL,
          data: '',
      }).then(res=>{
        console.log('request success...');
        // console.log(res.data);
      })
    }
  `
}
fd = fd.substr(0, fd.length - 1);  
data+=`
let interval = setInterval(() => {
  if(request_num == config.REQUEST_NUM){
    clearInterval(interval);
    return false
  }
  axios
  .all([${fd}])
  .then(axios.spread(function (acct, perms) {
      //console.log(acct);
      console.log('\x1B[33m%s\x1b[0m','REQUEST_NUM:${config.REQUEST_NUM}  CONCURRENT_NUM:${config.CONCURRENT_NUM}  INTERVAL_TIME:${config.INTERVAL_TIME}s');
  }));
  request_num+=1
}, config.INTERVAL_TIME);
`
fs.writeFile('./index.js', data, function(err) {
  if(err) {
    throw err
  }
  console.log('The file is ready')
  // fs.readFile('./index.js', 'utf-8', function(err, data) {
  //   if(err) {
  //     throw err
  //   }
  //   console.log('index.js的内容: ', data)
  // })
})

package.json 新增scripts指令

"scripts": {
	"start": "node ./setfile.js & node ./index.js"
},

执行

npm run start
//or
yarn start

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值