我试图了解 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> }
问题
据我了解, await 应该是阻塞的,并且在上面的代码中,它似乎阻塞了返回bl
带有原语的对象timestamp
。然后,我的函数返回原始值,但是时间变量设置为挂起的Promise而不是该原始值。我错过了什么?