TransWikia.com

for await, 2 варианта. Одно ли это и тоже?

Stack Overflow на русском Asked by Lasna1 on December 31, 2020

for await (test of promiseArray) {
  await test()
}

for await (test of promiseArray) {
  test()
}

Это одно и тоже (логика исполнения)

One Answer

Напишем-ка тестовый скрипт:

const sleep = (timeout = 500) => new Promise((resolve) =>
         setTimeout(() => resolve(Math.random()), timeout));

(async() => {

  for (test of [sleep(), sleep()]) {
    const res = await test;
    console.log('part1', res);
  }

  for await (test of [sleep(), sleep(), 'lalala']) {
    console.log('part2', test);
  }

})();

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

Correct answer by nörbörnën on December 31, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP