Промис в JavaScript

111
05 сентября 2021, 19:10

Полифил для Promise.allSettled:

Promise.allSettled = function(promises) { 
    return Promise.all(promises.map(p => Promise.resolve(p).then(value => ({ 
      state: 'fulfilled', 
      value: value 
    }), error => ({ 
      state: 'rejected', 
      reason: error 
    })))); 
  }; 
   
Promise.allSettled([new Promise((resolve, reject) => resolve(7))]).then((a) => alert(a[0].value));

В Promise.resolve(p).then(value ... я ожидаю, что value будет равно p(промису), почему в итоге выводится все же число? Я думал, что должен работать только вариант p.then(value ... вместо предыдущего кода. Почему исходный вариант выполняется корректно, мы ведь из Promise.resolve(p) возращаем успешный промис со значением p, которое будет value в then?

READ ALSO
Остановка таймера в DOM-элементе

Остановка таймера в DOM-элементе

Есть код таймера на JS:

86
События касания на мобильных браузерах

События касания на мобильных браузерах

Имеется компонент Vuejs, где на Div весит обработчик событий мыши

98
При нажатии на кнопку - добавить значение в input, при повторном нажатии - убрать

При нажатии на кнопку - добавить значение в input, при повторном нажатии - убрать

Есть скрипт, который при нажатии на ссылку добавляет некоторое значение в inputВот он:

96