all-threads-bot

Frontender`s Spectre

JavaScript | Практика #184 | Цикл и промисы | ★★★★☆

9 мая 2023 г., 10:30

<p><strong>Ответ: <code>A) apple, banana, cherry</code>.</strong></p> <blockquote>Выражение <code>for await...of</code> создаёт цикл, проходящий через асинхронные итерируемые объекты, а также синхронные итерируемые сущности, включающие: встроенные String, Array, Array-подобные объекты (например., arguments или NodeList), TypedArray, Map (en-US), Set, а также определяемые пользователем асинхронные/синхронные сущности. Он вызывает пользовательский итерационный хук с инструкциями, которые должны быть выполнены для значения каждого отдельного свойства объекта. (с) <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for-await...of" target="_blank" rel="noopener">MDN</a>.</blockquote> <p>Таким образом, в первой итерации скрипт дождется выполнения первого промиса в массиве - <code>apple</code>. Затем, сразу же выдаст <code>banana</code>, т.к. <code>2000 мс</code> уже пройдут. Завершиться выводом через секунду и <code>cherry</code>.</p>

<p><strong>Ответ: <code>A) apple, banana, cherry</code>.</strong></p> <blockquote>Выражение <code>for await...of</code> создаёт цикл, проходящий через асинхронные итерируемые объекты, а также синхронные итерируемые сущности, включающие: встроенные String, Array, Array-подобные объекты (например., arguments или NodeList), TypedArray, Map (en-US), Set, а также определяемые пользователем асинхронные/синхронные сущности. Он вызывает пользовательский итерационный хук с инструкциями, которые должны быть выполнены для значения каждого отдельного свойства объекта. (с) <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for-await...of" target="_blank" rel="noopener">MDN</a>.</blockquote> <p>Таким образом, в первой итерации скрипт дождется выполнения первого промиса в массиве - <code>apple</code>. Затем, сразу же выдаст <code>banana</code>, т.к. <code>2000 мс</code> уже пройдут. Завершиться выводом через секунду и <code>cherry</code>.</p>
Ниже представлено пояснение.

Ответ: A) apple, banana, cherry.

Выражение for await...of создаёт цикл, проходящий через асинхронные итерируемые объекты, а также синхронные итерируемые сущности, включающие: встроенные String, Array, Array-подобные объекты (например., arguments или NodeList), TypedArray, Map (en-US), Set, а также определяемые пользователем асинхронные/синхронные сущности. Он вызывает пользовательский итерационный хук с инструкциями, которые должны быть выполнены для значения каждого отдельного свойства объекта. (с) MDN.

Таким образом, в первой итерации скрипт дождется выполнения первого промиса в массиве - apple. Затем, сразу же выдаст banana, т.к. 2000 мс уже пройдут. Завершиться выводом через секунду и cherry.