你能在 if 语句中使用函数的返回值吗?

Can you use a function's returned value in a if statement?

如何在不声明变量的情况下 return 函数的结果? 如何 return 将函数的结果放在一行上? 如何 return if 中函数的结果?

能否在 if 语句中使用函数的 returned 值?

if ( await winthorglobal.SqlVerificarSeOPedidoExiste(PedidoNumeros).rows === PedidoNumeros )

结果:undefined

您可以通过对代码进行少量更改来获得所需的结果,关键是将括号括起来

(await winthorglobal.SqlVerificarSeOPedidoExiste(PedidoNumeros))

然后我们可以在结果上调用 .rows,例如

(await winthorglobal.SqlVerificarSeOPedidoExiste(PedidoNumeros)).rows

这应该按照您希望的方式运行。

如果您不在 await 语句周围放置方括号,您实际上是在尝试获取 Promise 上的 .rows 属性,这显然会 return undefined

const winthorglobal = { 
   SqlVerificarSeOPedidoExiste(n) {
       return new Promise((resolve, reject) => setTimeout(() => resolve({ rows: n })), 100)
   } 
}

async function testIt() {
    const PedidoNumeros = 10;
    if ((await winthorglobal.SqlVerificarSeOPedidoExiste(PedidoNumeros)).rows === PedidoNumeros) {
       console.log("All good")
    }
}

testIt()