different_delay.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. let del3000ms = new Promise(function (ok, fail) {
  3. setTimeout(() => ok("vse super"), 3000);
  4. });
  5. //
  6. del3000ms
  7. .then((res) => res.toUpperCase())
  8. .then(
  9. (res2) => console.log(res2),
  10. (err) => console.log("Uuuups")
  11. );
  12. //
  13. let delay = (ms) => new Promise((ok) => setTimeout(() => ok(ms), ms));
  14. delay(1000)
  15. .then((ms) => console.log("wait " + ms))
  16. .then(() => delay(2000))
  17. .then((ms) => console.log("wait twice " + ms));
  18. let promise = new Promise((resolve, reject) => {
  19. setTimeout(() => {
  20. // переведёт промис в состояние fulfilled с результатом "result"
  21. resolve("result1111");
  22. }, 3000);
  23. });
  24. // promise.then навешивает обработчики на успешный результат или ошибку
  25. promise.then(
  26. (result) => {
  27. // первая функция-обработчик - запустится при вызове resolve
  28. alert("Fulfilled: " + result); // result - аргумент resolve
  29. },
  30. (error) => {
  31. // вторая функция - запустится при вызове reject
  32. alert("Rejected: " + error); // error - аргумент reject
  33. }
  34. );
  35. let delay2 = function (time) {
  36. return new Promise(function (resolve, reject) {
  37. //можно без reject
  38. console.log("delay starting");
  39. setTimeout(() => resolve("It past " + time), time);
  40. });
  41. };
  42. Promise.race([
  43. delay2(() => console.log("delay end"), 250),
  44. myfetch("https://swapi.dev/api/people/1/").then((luke) => console.log(luke)),
  45. ]);