js使用promise和ajax实现接口并发请求压力测试效果代码

代码语言:html

所属分类:其他

代码描述:js使用promise和ajax实现接口并发请求压力测试效果代码,由于ajax的同源性,所以只能请求相同域的接口,跨域可以通过对方打开跨域设置或者通过同域的后端接口进行辅助请求来解决。

代码标签: ajax 实现 接口 并发 请求 压力 测试 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
    content="width=device-width, initial-scale=1.0, user-scalable=yes" />

</head>
<body>
    <p>
        <label>接口地址:</label>  <input type="text" id="url" value="/example.txt" placeholder="请输入接口url,必须同域的" />
    </p>

    <p>
        <label>并发数量:</label>   <input type="number" id="mutinums" value="10" placeholder="请输入并发数量" />
    </p>
    <p>
        <label>正确返回:</label>   <input type="text" id="rightresponetxt" value='Hello File!' placeholder="请输入正确的请求返回结果字符串" />
    </p>
    <button onclick="gotest()">开始测试</button>
    <p id="rettxt"></p>
    <script>

        var mutireqnums = 100;
        var requrl = "/example.txt";
        var rightresponse = 'Hello File!';


        // AJAX call 1
        function call_1() {
            return new Promise(function(resolve, reject) {
                // var start = Date.now();

                let xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function() {
                    // var end = Date.now();

                    //console.log('并行全部完成 用了'+(end-start)/1000+"s")
                    if (this.readyState == 4) {
                        if (this.status == 200)
                            resolve(this.responseText);
                        else
                            reject('请求出错');
                    }
                };
                xhttp.open("GET", requrl+"?rand="+Math.random());
                xhttp.send();
            });
        }
        function gotest() {

            mutireqnums .........完整代码请登录后点击上方下载按钮下载查看

网友评论0