我试图了解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,而不是原始值。我想念什么?