我正在调用使用异步/等待的函数。此函数将在 const getinfo
中获取字符串当调用如下函数时,如何返回此“ getinfo”字符串?
oneFunction("hello")
oneFunction("hello")
function oneFunction(info) {
(async function () {
try {
const getinfo = await somefunction(info)
} catch (e) {
console.error(e);
}
})()
}
答案 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 {
}