【面试题库】(3)

276 阅读1分钟

目录

ks

  1. 小写转大写
  2. 通过拦截器的并发请求数量控制demo 只是思路代码

一、小写转大写


function convert(str) {
    let strArr = str.split('-');
    let resStr = strArr.map((item, index) => {
        if(index > 0 ){
            let newStr = [...item.split('')[0].toLocaleUpperCase(), ...item.slice(1)].join('');
            return  newStr
        }else{
             return  item
        }
        
    });
    console.log(resStr.join(''));
    return resStr.join('');
}
convert('get-element-by-id');

二、通过拦截器的并发请求数量控制demo 只是思路代码


let request = axios.create({
    baseUrl:'',
    timeout: 3000
});

let Pool = {
    num:0,
    requestArr:[],
    requestArrLargeThenTen:[]
};
//请求拦截
request.inxx.request((config)=>{
    Pool.num++;
    // push
    let requestUrl = config.request.url;
    if(Pool.num > 10){
        Pool.requestArr.push(requestUrl);
        Pool.requestArrLargeThenTen = Pool.requestArr.slice(10);
        // requestArrLargeThenTen  ['/a', '/b']
    }else{ // <10
        // 正常发起请求
    }
});

//响应拦截
request.inxx.request(
    (data)=>{ // success
        Pool.num--;
        return data;
    },
    (err)=>{
        Pool.num--;
        return err;
    });

三、

四、

参考

总结