小编use*_*162的帖子

异步函数返回promise,而不是值

我试图了解async / await如何与promise一起工作。

async function latestTime() {
  const bl = await web3.eth.getBlock('latest');
  console.log(bl.timestamp); // Returns a primitive
  console.log(typeof bl.timestamp.then == 'function'); //Returns false - not a promise
  return bl.timestamp;
}
const time = latestTime(); // Promise { <pending> }
Run Code Online (Sandbox Code Playgroud)

问题

据我了解,await应该被阻塞,并且在上面的代码中,它似乎阻塞了返回bl带有基本对象的对象timestamp。然后,我的函数返回原始值,但是时间变量设置为待处理的promise,而不是原始值。我想念什么?

javascript primitive promise async-await

5
推荐指数
3
解决办法
4918
查看次数

标签 统计

async-await ×1

javascript ×1

primitive ×1

promise ×1