当前位置: 首页 > 知识库问答 >
问题:

如何获得javascript Promise的返回值?

涂玉韵
2023-03-14

我正在努力理解如何在Javascript中获得一个承诺的值,以便能够检查它是真的还是假的。

let valid = validateForm();

if ( valid === true ) {
}

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

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

在我的if语句中,我试图检查允诺值是否为真,但我不知道如何访问该值:/谁能告诉我如何检查该值吗?

谢谢

共有1个答案

锺离晗昱
2023-03-14

您可以使用.thenawait获得它。

let valid = validateForm();

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

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

  if (valid) {

  }
}
``

 类似资料:
  • 我用的是parse.com。每个包里面都有很多钻子,每个品类里面都有很多包。 我卡住了。然后(函数(result,result2,result3)在最后一行。promise可以有多个promise,它是可变的。有没有一种方法可以写出如下内容: 谢谢!

  • 我用webpack建立了一个浏览器umd库。 我正在侦听输入文件的onchange事件。当有人提交图像/文件时,它会将其转换为base64。我试图让它尽可能看起来不那么明显,所以我使用了promises和wait/asynchttps://blog.shovonhasan.com/using-promises-with-filereader/. 但是,有一个问题-当我调用convertToBase

  • 我显然误解了jspromise的解决方式或“返回”的语义 我被一个期望我是同步的函数调用——返回一个值。计算该值需要一些异步代码(特别是dstore集合上的ForEach方法) 我试图实现的大致是这个,但这不起作用,因为函数mySynchronousFunction没有返回值。 我知道JS必须允许单线程实现,所以阻止它并不酷,但必须有某种模式用于将异步代码粘合到同步代码,我刚刚错过了这种模式。

  • 问题内容: 在下面的代码中,我按预期在100秒后捕获了TimeoutException。在这一点上,我希望代码从main退出,而程序终止,但它会一直打印到控制台。如何使任务在超时后停止执行? 问题答案: 您需要在超时时取消任务(并中断其线程)。那就是方法。:

  • 问题内容: 我正在写一个简单的网络应用程序…我需要知道我的机器在网络上的真实IP,例如192.168.1.3。getLocalHost返回127.0.0.1(在Linux上,如果在Windows上相同,则为dunno)怎么做? 问题答案: 由于机器可能有多个地址,因此很难确定哪个地址适合您。通常,您希望系统根据其路由表分配IP。由于结果取决于您要连接的IP,因此有一个简单的技巧:只需创建一个连接并