返回期待值会返回一个Promise吗? (es7 async / await) [英] Returning an awaited value returns a Promise? (es7 async/await)

查看:112
本文介绍了返回期待值会返回一个Promise吗? (es7 async / await)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

console.log( wrapper() );

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

我正在使用Babel ES7预设为编译。

I'm using the Babel ES7 preset to compile this.

推荐答案

异步函数返回promises。为了做你想做的事,试试这样的事情

Async functions return promises. In order to do what you want, try something like this

wrapper().then(someString => console.log(someString));

您还可以等待 wrapper()与其他异步函数的上下文中的其他promise一样。

You can also await on wrapper() like other promises from the context of another async function.

console.log(await wrapper());

这篇关于返回期待值会返回一个Promise吗? (es7 async / await)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆