【问题标题】:How to get the return value of a javascript promise?如何获取 javascript 承诺的返回值?
【发布时间】:2019-11-02 03:56:35
【问题描述】:

我很难理解如何在 Javascript 中获取承诺的价值,以便能够检查它是真还是假。

let valid = validateForm();

if ( valid === true ) {
}

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

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

在我的 if 语句中,我正在尝试检查承诺值是否为真,但是我不知道如何访问这个:/ 谁能告诉我如何检查这个?

谢谢

【问题讨论】:

标签: javascript promise


【解决方案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】:

    很难相信一个简单的谷歌搜索没有给你答案,但这里是:

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

    或者,在异步函数中:

    let value = await validateForm();
    

    【讨论】:

      【解决方案3】:

      您可以通过.thenawait 获得它。

      let valid = validateForm();
      
      valid.then(function(valid) {
       if (valid) {
      
       }
      })
      
      async function submit () {
        const valid = await validateForm();
      
        if (valid) {
      
        }
      }
      ``
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-08-09
        • 1970-01-01
        • 2018-12-24
        • 2018-08-25
        • 1970-01-01
        • 1970-01-01
        • 2017-02-07
        相关资源
        最近更新 更多