Javascript ошибка обещаний говорит о том, что .then () не определен. Асинхронный - PullRequest
0 голосов
/ 07 января 2020

Вероятно, это простой вопрос с простым ответом, но я не очень разбираюсь в подобных вещах. Заранее спасибо. Вот мой код:

const Mypromise = num => { 
  new Promise( function(resolve, reject) { if (num === 0) {
   resolve('Zero was inputted')
 } else
   {
     reject('You put in a number other than zero')
     
   }})

 }  

// const num = () => Math.floor(Math.random() *2)
const handleSuccess = handleResolve => {console.log(handleResolve)};
const handleFailure = handleReject => {console.log(handleReject);}

Mypromise(5 ).then(handleSuccess).catch(handleFailure);

Ошибка будет видна при запуске фрагмента кода

1 Ответ

4 голосов
/ 07 января 2020

Вам нужно return ваш Promise, в противном случае вы возвращаете undefined (у которого нет свойства / функции с именем then).

const Mypromise = num => {
  // return the Promise
  return new Promise(function(resolve, reject) {
    if (num === 0) {
      resolve('Zero was inputted')
    } else {
      reject('You put in a number other than zero')

    }
  })

}

// const num = () => Math.floor(Math.random() *2)
const handleSuccess = handleResolve => {
  console.log(handleResolve)
};
const handleFailure = handleReject => {
  console.log(handleReject);
}

Mypromise(5).then(handleSuccess).catch(handleFailure);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...