我正在使用 cucumber 框架
在 JavaScript (NodeJS) 中编写自动化测试脚本。我的步骤定义之一需要调用 API 并读取 JSON
数据。
在下面的代码中,ptRecords 是 JSON 响应 block ,其中我正在读取一个名为 jsonElement1
和 jsonElement2
的元素,这两个元素重复多次,因此我正在读取所有的事件..
我的以下代码工作正常,但是当我运行 lint 时,它会抛出 lint 错误,提示不要在循环语句下创建函数。
能否请您告知如何调用这些外部循环并获得响应..
我需要这样做直到K循环结束
for (let k = 0; k < 5; k += 1) {
ptRecords.forEach((jsonArrObj1) => {
const jsonArrObjTagValue = objectHelpers.walk(jsonArrObj1.jsonElement1);
acc.push(jsonArrObjTagValue1);
});
ptRecords.forEach((jsonArrObj2) => {
const jsonArrObjTagValue = objectHelpers.walk(jsonArrObj2.jsonElement2);
acc.push(jsonArrObjTagValue2);
});
};
最佳答案
你也许可以改变这个:
for (let k = 0; k < 5; k += 1) {
// ...
}
进入:
[0, 1, 2, 3, 4].forEach(k => {
// ...
});
或者您可以使用一些快捷方式来自动生成数组:
[...Array(5).keys()].forEach(k => {
// ...
});
或:
[...Array(5)].forEach((v, k) => {
// ...
});
或者如果您知道自己在做什么,有时您最好的选择是禁用某个规则:
// eslint-disable-line no-loop-func
关于JavaScript eslint 错误 - 不要在循环下创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46112707/