我正在努力了解如何在Javascript中获得一个Promise的值,以便能够检查它是对还是错。
let valid = validateForm();
if ( valid === true ) {
}
如果我console.log有效变量,它将返回以下内容:
Promise {<pending>}
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: true
在我的if语句中,我正在尝试检查Promise值是否为true,但是我不知道如何获得此权限://有人可以建议如何进行检查吗?
谢谢
答案 0 :(得分:2)
您可以通过.then
或await
来获得它。
let valid = validateForm();
valid.then(function(valid) {
if (valid) {
}
})
async function submit () {
const valid = await validateForm();
if (valid) {
}
}
``
答案 1 :(得分:1)
使用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);
})()
答案 2 :(得分:0)
很难相信简单的谷歌搜索并不能给您答案,但这是可行的:
validateForm().then(value => console.log(value))
或在异步函数中:
let value = await validateForm();