Вопрос проверяет умение корректно работать с асинхронным кодом и областями видимости в циклах.
Короткий ответ
Самый простой способ — использовать let вместо var, так как let создаёт новую переменную для каждой итерации цикла. Также можно использовать IIFE или передавать значение в функцию явно. Эти подходы позволяют каждому асинхронному колбэку работать со “своим” значением. В современном коде предпочтителен let.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.