javascript - 在异步函数中使用 props 变量
问题描述
我在 vue.js 组件中接收到 web3 的值。我之前在同一组件的代码中成功地使用了这个变量。但是,在尝试在异步函数中使用它时,我在所述变量上收到一个未定义的错误。我不应该像下面这样使用它,还是我错过了什么?(blockNum 在我的代码前面被分配了一个值。)
props: ['web3']
async function getTimestamp () {
const block = await this.web3.eth.getBlock(blockNum)
const ts = await this.web3.eth.getBlock(block).timestamp
return ts
}
console.log(getTimestamp())
解决方案
由于getTimestamp
是一个异步函数,它返回一个承诺而不是实际值。因此,在控制台记录它之前,您必须等待承诺解决。
async function getTimestamp () {
const block = await this.web3.eth.getBlock(blockNum)
const ts = await this.web3.eth.getBlock(block).timestamp
return ts
}
getTimestamp().then(ts => {
console.log(ts)
}
推荐阅读
- authentication - POST authentication on upstream server in NGINX
- c# - Unity地铁冲浪者碰撞
- c++ - C++ linker error while using static member of a class
- excel - Setting DataBodyRange2 = DataBodyRange1
- javascript - 如何从head标签中只删除一个css文件?
- python - 多个 For 循环 Django
- javascript - js background change depends on weather condition (code not working)
- python - 如何在过滤的数据框中使用枚举
- sql - 为什么某些数值的隐式转换有效,而其他数值无效?
- java - Method to Return Full User Name