问题描述
我正在尝试运行异步javascript函数,并在Go中获取其结果。问题在于异步函数返回的Promise在Go中无法解决。我想要的是让函数等待直到得到结果然后正常返回,即用异步接口包装异步函数。例如:
JavaScript:
async func foo() {
const res = await moo()
return res
}
在Go中,我使用的是rogchap.com/v8go,因此代码类似于:
ctx,_ := v8go.NewContext(nil)
_,err := ctx.RunScript(`....deFinition of foo()`,"main.js")
_,err = ctx.RunScript("const result=foo()","main.js")
fmt.Printf("result= %s\n",result.String())
问题在于结果永远是未解决的承诺。有没有一种方法可以“等待”直到诺言解决了?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)