hw_16_03_race.html 849 B

12345678910111213141516171819202122
  1. <header>
  2. Race
  3. </header>
  4. <body>
  5. <script>
  6. function delay(ms) {
  7. function executor(fulfill, reject) { //reject объявлен для вида.
  8. setTimeout(() => fulfill(ms), ms) //setTimeout запустит функцию, которая запустит fulfill через ms миллисекунд. Результатом промиса будет время задержки
  9. }
  10. return new Promise(executor)
  11. }
  12. let fetchPromise = fetch('https://swapi.dev/api/people/1/')
  13. .then(res => "fetch promise");
  14. let delayPromise = delay(500)
  15. .then(res => "delay promise");
  16. let start = new Date();
  17. Promise.race([fetchPromise, delayPromise])
  18. .then(res => alert(`${res}:${new Date() - start}`));
  19. </script>
  20. </body>