ajax异步加载延时问题,关于ajax异步加载请问数据延迟问题

在外面定义一个空数组,然后做一个ajax请求,请求内再嵌套一个请求,最终拼接成一个三个对象插入空数组。

最终出来的结果顺序都是不一样的,因为for循环执行,但是ajax请求是异步的。最终结果受for循环影响,每次获得的数组结果里面的对象字段顺序都不一样要怎么解决。

代码示例:

$.ajax({

url: 'http://120.76.75.179:5000/service/device_access/realData',

type: 'GET',

data: {

access_token: 'cbc7970472d055c802c2f50646da0d44179bdde05bc100d1e50c679103ab0bba8cb6ee7a63a4a4875a',

did: '000200014611127'

},

success: function(data) {

console.log(1,data);

var devId_arr = (data.collectdids.v).split(',');

var devDetail_arr = [];

for(var val in devId_arr) {

var devDetail_obj = {};

// 获取第二个接口里面的设备名称

$.ajax({

url: 'http://120.76.75.179:5000/service/device_register/get_device_info_bypid',

type: 'GET',

data: {

access_token: 'cbc7970472d055c802c2f50646da0d44179bdde05bc100d1e50c679103ab0bba8cb6ee7a63a4a4875a',

pid: devId_arr[val]

},

success:function(res){// console.log(2,res);

devDetail_obj.deviceName = res[0].name;

}

})

// 获取第三个接口里面需要的值

$.ajax({

url: 'http://120.76.75.179:5000/service/device_access/realData',

type: 'GET',

data: {

access_token: 'cbc7970472d055c802c2f50646da0d44179bdde05bc100d1e50c679103ab0bba8cb6ee7a63a4a4875a',

did: devId_arr[val]

},

success:function(res){ // console.log(3,res);

devDetail_obj.deviceID = devId_arr[val];

devDetail_obj.deviceStatus = res.totalstatus.v;

devDetail_obj.countTotal = res.count.v;

devDetail_arr.push(devDetail_obj);

}

});

}

console.log(devDetail_arr.length)

console.log(devDetail_arr)

}

})

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue的延时加载播放器是一种可以在页面加载延迟加载视频播放器的技术。它通常用于优化页面性能和用户体验,通过延迟加载视频播放器,可以减少初始页面加载时间,提高页面加载速度,同时减少对用户流量的消耗。 在Vue中实现延时加载播放器,通常可以使用以下步骤: 1. 创建一个Vue组件,用于封装视频播放器的相关逻辑。 2. 在组件的data属性中定义一个变量,用于控制视频播放器的加载状态。初始时,该变量应该设置为false,表示视频播放器尚未加载。 3. 在组件的mounted钩子函数中,使用Ajax或其他异步请求技术从服务器或其他数据源获取视频播放器的相关信息,并将其存储在组件的data属性中。 4. 在组件的template中,使用v-if指令根据视频播放器的加载状态显示或隐藏相关元素。例如,当视频播放器的加载状态为false时,可以显示一个加载指示器或空白区域;当视频播放器的加载状态为true时,可以显示视频播放器的容器元素。 5. 在组件的方法中,可以使用异步请求返回的视频播放器相关信息,创建并配置视频播放器对象,然后调用相应的播放方法。在视频播放器对象创建和配置完成后,可以将视频播放器的引用存储在组件的data属性中,以便在template中使用v-if指令进行控制。 6. 在组件的watch属性中,监听数据源的变化,并在数据变化时重新加载视频播放器对象。这样可以在数据源发生变化时及时更新视频播放器,避免页面加载速度的降低。 通过以上步骤,可以在Vue中实现延时加载播放器。需要注意的是,延时加载播放器需要结合其他技术手段,如懒加载、预加载等,以提高页面性能和用户体验。同时,还需要考虑视频播放器的兼容性和性能优化等问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值