如何从JavaScript中的函数返回值

时间:2019-03-11 17:53:29

标签: javascript node.js function async-await

我正在调用使用异步/等待的函数。此函数将在 const getinfo

中获取字符串

当调用如下函数时,如何返回此“ getinfo”字符串?

oneFunction("hello")

oneFunction("hello")



function oneFunction(info) {

    (async function () {
        try {

            const getinfo = await somefunction(info)

        } catch (e) {
            console.error(e);
        }
    })()
}

1 个答案:

答案 0 :(得分:1)

您可以删除立即调用的函数表达式,而可以getInfo删除该函数。在try块内部,返回somefunction

在此示例中,async返回的诺言将在3秒钟后解决。由于then将返回一个承诺,因此您可以在function oneFunction(info) { async function inner() { try { const getinfo = await somefunction(info); return getinfo; } catch (e) { console.error(e); } } return inner() } function somefunction(val) { return new Promise(function(resolve, reject) { setTimeout(function() { resolve('Value from aysnc ' + val) }, 3000); }) } oneFunction("hello").then((data) => { console.log(data) })

中获取值

trait MyJsonProtocol {
   //some logic
}

object MyJsonProtocol extends MyJsonProtocol {

}