Javascript 如何获取异步函数以返回文本

Javascript 如何获取异步函数以返回文本,javascript,async-await,Javascript,Async Await,为什么异步将返回值转换为[对象承诺] 这是我想工作的代码 function foo() { let res = bar("HELLO") console.log(res) } async function bar (text) { text = text + await getData(); return (text) } function getData () { return new Promise((resolve, reject) =>

为什么异步将返回值转换为[对象承诺]

这是我想工作的代码

function foo() {
    let res = bar("HELLO")
    console.log(res)
}

async function bar (text) {
    text = text + await getData();
    return (text)
}

function getData () {
    return new Promise((resolve, reject) => {
        // Do a lot of stuff to find myResult
        resolve(myResult)
    })
}
所以我的问题是。。。这是怎么回你好的

这将返回[对象承诺]

如何让异步函数返回文本?

您需要使用。然后。试试这个

异步功能条文本{ 返回文本; } var测试=barhello; test.thenvalue=>console.logvalue 你需要使用。然后。试试这个

异步功能条文本{ 返回文本; } var测试=barhello;
test.thenvalue=>console.logvalue 异步函数返回值自动包装在承诺中。要使用async/await语法打开该函数,还需要等待该函数

因此,在你的情况下:

function foo() {
    let res = bar("HELLO")
    console.log(res)
}
需要成为:

async function foo() {
    let res = await bar("HELLO")
    console.log(res)
}
或者你可以用承诺链的方式处理它:

function foo() {
    bar("HELLO").then(res => console.log(res))
}

异步函数返回值自动包装在承诺中。要使用async/await语法打开该函数,还需要等待该函数

因此,在你的情况下:

function foo() {
    let res = bar("HELLO")
    console.log(res)
}
需要成为:

async function foo() {
    let res = await bar("HELLO")
    console.log(res)
}
或者你可以用承诺链的方式处理它:

function foo() {
    bar("HELLO").then(res => console.log(res))
}

异步函数总是返回承诺。您必须等待它们或调用。然后对它们执行。异步函数始终返回承诺。你必须等着他们或打电话。然后去找他们。该死的!!我忘了!!哈哈哈-你说得对@Joven28:真是尴尬哈哈。该死!!我忘了!!哈哈哈-你是对的@Joven28:多么尴尬的LOL。更好的回答,处理好等待和。然后更好的回答,处理好等待和。然后