Вопрос проверяет понимание областей видимости, замыканий и причин типичных ошибок в асинхронных циклах.
Короткий ответ
При использовании var в цикле все асинхронные колбэки будут ссылаться на одну и ту же переменную. К моменту выполнения асинхронного кода цикл уже завершится, и переменная будет иметь финальное значение. В результате вместо ожидаемых разных значений выводится одно и то же. Это происходит из-за функциональной, а не блочной области видимости var.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.