Я ничего не могу найти по этому поводу, поэтому я решил спросить здесь. Я использую реагирующе-родной и редукс. Я оставил бизнес-логику c вне кода.
У меня есть эта функция, которая вызывает другую функцию, которая выполняет вызов API. Функция, которая выполняет вызов API, должна обращаться к «getState», поэтому я использую диспетчеризацию.
const getStuff = (day) => (dispatch) => {
const result = await dispatch(functionThatDoesAPIRequest(day)
}
Затем у меня есть этот код, который зацикливается в течение нескольких дней, а в некоторых случаях требуется выполнить вызов API. В случае, когда я тестировал, ему не требуется доступ к API. Я не мог найти проблему с моим кодом, пока не поместил строку между оператором if в комментариях. Затем я изменил if, чтобы всегда быть False, и ошибка сохранялась, когда строка кода отсутствовала в комментариях, даже если она никогда не могла достичь этого куска кода.
for (let i = 0; i < dayArray.length; i+=1) {
if (false) {
const resultThatIsNotNeeded = await dispatch(getStuff(dayArray[i])
}
// more business logic
}
Изменение для l oop ForEach l oop исправил эту проблему как-то. Но я действительно понятия не имею, почему это исправило это. Любая помощь приветствуется.
dayArray.forEach(async (day, i) => {
if (false) {
const resultThatIsNotNeeded = await dispatch(getStuff(dayArray[i])
}
}