forEach循环遍历请求接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了forEach循环遍历请求接口相关的知识,希望对你有一定的参考价值。
参考技术A 最近项目的需求,需要遍历table表格里的数据,进行生产的操作,效果:
接口返回的格式
潇洒的实现效果
但是有一点需要注意:如果用for循环,就会出现,接口全都请求成功以后,也不能成功赋值的错误!
例如for循环的写法如下:
for循环写法:
postAutoProduceDevice()
var _this = this;
if (_this.zdExList.length < 1)
return _this.$message.warning("请先导入要生产的设备");
var snArr = [];
var snArrTotal = 0;
var arrList = _this.zdExList;
for (let index = 0; index < arrList.length; index++)
const element = arrList[index];
_this.hqUserInfo(
data:
name: "postAutoProduceDevice",
data: JSON.stringify(
batch: _this.produceDevSearch.batch,
devicetype: _this.zd.devtype,
sn: element.sn,
field: "",
snnum: "1",
operid: _this.userid
)
).then(res =>
if (res.ret)
_this.zdExList[index] =
"sn": res.Data[0].sn,
"deviceType": res.Data[0].devicetype,
"logicId": res.Data[0].logicid,
"mac": res.Data[0].mac,
"ip": res.Data[0].ip,
"retmsg": "生产成功"
else
_this.zdExList[index].retmsg = res.Msg;
);
,
forEach写法:
postAutoProduceDevice()
var _this = this;
if (_this.zdExList.length < 1)
return _this.$message.warning("请先导入要生产的设备");
var zdParams =
batch: _this.produceDevSearch.batch,
devicetype: _this.zd.devtype,
sn: "",
field: "",
snnum: "1",
operid: _this.userid
_this.zdExList.forEach((item,index) =>
zdParams.sn = item.sn;
_this.hqUserInfo(
data:
name: "postAutoProduceDevice",
data: JSON.stringify(zdParams)
).then(res =>
if (res.ret)
item.sn = res.Data[0].sn;
item.devicetype = res.Data[0].devicetype;
item.logicId = res.Data[0].logicid;
item.mac = res.Data[0].mac;
item.ip = res.Data[0].ip;
item.retmsg = "生产成功";
_this.$set(_this.zdExList, index, _this.zdExList[index]);
else
item.retmsg = res.Msg;
_this.$set(_this.zdExList, index, _this.zdExList[index]);
);
);
,
以上是关于forEach循环遍历请求接口的主要内容,如果未能解决你的问题,请参考以下文章
java 数据结构:Iterator接口与foreach循环
jmeter forEach循环获取response参数值进行接口请求