如何获得JavaScript承诺的返回值?

时间:2019-06-19 11:59:45

标签: javascript promise

我正在努力了解如何在Javascript中获得一个Promise的值,以便能够检查它是对还是错。

let valid = validateForm();

if ( valid === true ) {
}

如果我console.log有效变量,它将返回以下内容:

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

在我的if语句中,我正在尝试检查Promise值是否为true,但是我不知道如何获得此权限://有人可以建议如何进行检查吗?

谢谢

3 个答案:

答案 0 :(得分:2)

您可以通过.thenawait来获得它。

let valid = validateForm();

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

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

  if (valid) {

  }
}
``

答案 1 :(得分:1)

使用thenawait

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);
})()

答案 2 :(得分:0)

很难相信简单的谷歌搜索并不能给您答案,但这是可行的:

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

或在异步函数中:

let value = await validateForm();
相关问题