Как получить возвращаемое значение обещания JavaScript? - PullRequest
0 голосов
/ 19 июня 2019

Я изо всех сил пытаюсь понять, как получить значение обещания в Javascript, чтобы иметь возможность проверить, является ли оно истинным или ложным.

let valid = validateForm();

if ( valid === true ) {
}

Если я console.log допустимой переменной, он возвращает следующее:

Promise {<pending>}
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: true 

В своем утверждении if я пытаюсь проверить, является ли значение обещания истинным, однако я не знаю, как получить к нему доступ: / Может кто-нибудь посоветовать, как это проверить?

Спасибо

Ответы [ 3 ]

2 голосов
/ 19 июня 2019

Вы можете получить либо .then, либо await.

let valid = validateForm();

valid.then(function(valid) {
 if (valid) {

 }
})
async function submit () {
  const valid = await validateForm();

  if (valid) {

  }
}
``

1 голос
/ 19 июня 2019

С then или await:

function promiseExample  (){
    return new Promise((resolve, reject)=> resolve("hello world"))
}

(async ()  => {

    //with then
    promiseExample()
       .then(data => console.log('with then: ', data))
       
    //with await
    var data = await promiseExample()
    console.log('with await: ', data);
})()
0 голосов
/ 19 июня 2019

Трудно поверить, что простой поиск в Google не дал вам ответа на этот вопрос, но здесь говорится:

validateForm().then(value => console.log(value))

или, в пределах асинхронной функции:

let value = await validateForm();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...