【发布时间】:2022-01-14 15:39:01
【问题描述】:
我正在我的应用中进行身份验证。 并且有这样的代码
const ttt = currentUser.changedPasswordAfter(decoded.iat);
console.log(ttt);
if (ttt) {
console.log('if thinks ttt is true');
changedPasswordAfter retuns promise (true or false) 所以我运行请求并将其输入控制台。
Promise { false }
if thinks ttt is true
如您所见 ttt 是 FALSE 但 IF 语句决定它是 TRUE 。 我该如何解决?
【问题讨论】:
-
不是
true,而是truthy。 -
请看一下链接。承诺是真实的。
currentUser.changedPasswordAfter是什么? -
一个promise是一个对象,一个对象被转换为true。如果您想要您的价值,您需要
await或致电then。ttt.then(res => /* here res is true or false*/) -
a
Promise是一个包含数据的对象,这是在 if/else 表达式或类似事物中使某事物为真/评估为真的一种可能方式 -
只是在样板文件中添加一些内容,请不要将变量命名为
ttt。从不。
标签: javascript node.js promise