const ret =() => new Promise(resolve => setTimeout(() => resolve('somestring'), 1000));
async function wrapper() {
let someString = await ret();
return someString;
}
console.log(wrapper());
It logs Promise { <pending> }
; 为什么它会返回一个Promise而不是'somestring'
?返回期待值会返回一个Promise? (es7 async/await)
我使用巴贝尔ES7预设来编译这个。
因为它是异步函数。这是异步和正常功能之间的区别。 – estus
我认为你可以从异步函数中获得async/await的好处。如果你在'wrapper()'函数内部或'async'函数内的'console.log(someString)',你将会得到'somestring'值。 –
@estus那么为什么在等待输出正确的值之后记录'someString'呢? –