Javascript return 嵌套函数的值打印未定义
Javascript return value from nested function prints undefined
我在这里尝试 return 来自 bcrypt.compare 的值,嵌套在一个函数中。
我想得到结果值(真或假)。
我正在使用 coffeescript。这是代码:
comparePasswordWithHash = (pass, hash) ->
return bcrypt.compare pass, hash, (err, result) ->
if err
throw err
else
return result
console.log comparePasswordWithHash "bacon", hashedPassword # Should print true/false
使用此代码,打印的值未定义。
bcrypt.compare()
是异步的。这意味着它不会返回任何东西,而是调用您传递给它的回调。还有同步版的compare()
--> bcrypt.compareSync()
.
我的 coffeescript 有点生疏,但我想你最终会使用 promise 得到这样的东西:
comparePasswordWithHash = (pass, hash) -> bcrypt.compare pass, hash
comparePasswordWithHash "bacon", hashedPassword
.then (response) -> console.log response
.catch (error) -> console.log error
我在这里尝试 return 来自 bcrypt.compare 的值,嵌套在一个函数中。
我想得到结果值(真或假)。
我正在使用 coffeescript。这是代码:
comparePasswordWithHash = (pass, hash) ->
return bcrypt.compare pass, hash, (err, result) ->
if err
throw err
else
return result
console.log comparePasswordWithHash "bacon", hashedPassword # Should print true/false
使用此代码,打印的值未定义。
bcrypt.compare()
是异步的。这意味着它不会返回任何东西,而是调用您传递给它的回调。还有同步版的compare()
--> bcrypt.compareSync()
.
我的 coffeescript 有点生疏,但我想你最终会使用 promise 得到这样的东西:
comparePasswordWithHash = (pass, hash) -> bcrypt.compare pass, hash
comparePasswordWithHash "bacon", hashedPassword
.then (response) -> console.log response
.catch (error) -> console.log error