返回期待值会返回一个Promise吗?(es7 async/await)

boo*_*max 13 javascript async-await ecmascript-2017

const ret = () => new Promise(resolve => setTimeout( () => resolve('somestring'), 1000));

async function wrapper() {
    let someString = await ret();
    return someString;
}

console.log( wrapper() );
Run Code Online (Sandbox Code Playgroud)

它记录Promise { <pending> }; 为什么它会返回Promise而不是'somestring'

我正在使用Babel ES7预设来编译它.

afu*_*ous 17

异步函数返回promise.为了做你想做的事,尝试这样的事情

wrapper().then(someString => console.log(someString));
Run Code Online (Sandbox Code Playgroud)

您也可以wrapper()像其他异步函数的上下文一样等待其他promise.

console.log(await wrapper());
Run Code Online (Sandbox Code Playgroud)