2017-09-08 27 views
1

我正在用JavaScript編寫一個自動化測試腳本(NodeJS),其中包含cucumber framework。我的一個步驟定義需要調用API並讀取JSON數據。JavaScript eslint錯誤 - 請勿循環制作函數

在下面的代碼ptRecords是JSON響應的塊,其中我讀一個元件稱爲jsonElement1jsonElement2,這兩個元件重複幾次,因此我讀所有出現..

我的下面的代碼作品罰款,但是當我運行lint時,它會拋出lint錯誤,說不要在循環語句下生成函數。

請您指教如何調用這些外部循環,並得到響應回來..

我必須這樣做,直到ķ循環結束

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); 
    }); 
}; 

回答

1

您或許能夠改變這種:

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 
+0

感謝各種可能的方式。這對我有幫助:) – Jagath