全部 ApiPost使用 后端 前端 接口测试 IOS Android 数据库 2022 测试技术 工具
问答 / 问答详情

自定义脚本中 ajax 使用 await 时貌似没有生效

问题如题

示例代码:


var obj = {
    "1": "123456",
    "2": "234567",
    "3": "345678"
};
var resp = {};

for (var i = 1; i <= Object.keys(obj).length; i++) {
    console.log(obj[i]);
    $.ajax({
        url: "http://baidu.com",
        method: "POST",
        "content-type": "application/json",
        data: JSON.stringify({}),
        async: false, // 设置为同步请求
        success: function (response) {
            resp[i] = "12345678";
            console.log(i);
        }
    });
}
console.log(resp);


// 浏览器输出
// "123456"
// 1
// "234567"
// 2
// "345678"
// 3
// Object { 1: "12345678", 2: "12345678", 3: "12345678" }

// V8 结果
123456
234567
345678
{}
4
4



浏览器

自定义脚本中 ajax 使用 await 时貌似没有生效

V8

自定义脚本中 ajax 使用 await 时貌似没有生效

V7

自定义脚本中 ajax 使用 await 时貌似没有生效

| 0 收藏

2 个回答

var obj = {
    "1": "123456",
    "2": "234567",
    "3": "345678"
};
var resp = {};

for (var i = 1; i <= Object.keys(obj).length; i++) {
    console.log(obj[i]);
    await $.ajax({
        url: "http://baidu.com",
        method: "POST",
        "content-type": "application/json",
        data: JSON.stringify({}),
        success: function (response) {
            resp[i] = "12345678";
            console.log(i);
        }
    });
}
console.log(resp);

这个是测试的代码

外面有个循环的原因

Apipost 私有化火热进行中

撰写答案

只服务于

前后端、移动端、测试人员

提问题 发布您遇到的Bug和问题,上万名大牛和开发者来帮您解决!