РЕДАКТИРОВАТЬ: Пожалуйста, прочитайте внимательно. Это работает . Я пытаюсь точно понять, почему.
РЕДАКТИРОВАТЬ 2: Я знаю, что asyn c делает вещи асинхронными. Почему бы это не сработало для for ... in l oop, хотя?
Я использую Node v10.13.0.
Уже некоторое время я использую for. ..of циклов в Javascript для выполнения асинхронных c задач внутри структуры oop. Я не сомневаюсь, что он работает, как ожидалось.
Я просто наткнулся на ситуацию, в которой мне нужно объяснить , почему это работает, и понял, что на самом деле понятия не имею. Вот замысловатый пример, просто чтобы помочь визуализировать, что я имею в виду:
async function myFunc(array) {
for (var item of array) {
await asyncRequest();
}
}
В этой функции не имеет значения, что такое array
и asyncRequest
, смысл в том, что для каждого элемента в массив, выполнение программы выполняет каждый asyncRequest
, казалось бы, последовательно, прежде чем пройти мимо l oop.
Я посмотрел на https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of, где я обнаружил, что для. .. of l oop перебирает итерируемые объекты. Что ж, массив определенно повторяется, но этот факт кажется не связанным.
Любое понимание этого поведения?