我正在尝试在 Golang 函数内运行 JavaScript,并使用 fetch 在 Javascript 上下文中通过 API 获取 JSON。我使用以下代码在Otto中进行了尝试:import "github.com/robertkrimen/otto" vm := otto.New() vm.Run(` function tryfunc() { console.log("Started"); fetch('https://www.example.com/APIendpoint'); console.log("Success"); } tryfunc(); `)Otto 使用起来非常简单,但看起来 Otto 是一个事件总线并且不管理 fetch。我现在正在尝试使用以下代码使用v8go :import v8 "rogchap.com/v8go"ctx := v8.NewContext()ctx.RunScript(`fetch("https://www.example.com/APIendpoint"), ""`)但它需要另一个论点。文档非常不清楚,即使是最简单的 JS 脚本也很难理解如何运行。有人可以帮忙吗?
1 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
Otto 和 v8 实现ECMAScript,从当前的 13.0 版本开始不需要内置函数fetch
(请参阅:https ://262.ecma-international.org/13.0/#sec-function-properties-of-the-global-object ) ,此功能由网络浏览器实现。
我相信第二个参数只是调试输出前缀的文件名(例如:foo.js:14: undefined bar),这在解释器中很常见。
我怀疑你的脚本确实运行了,如果你打印出RunScript的输出(你忽略了两个返回值,一个 JavaScript 值和一个错误),那应该有一个“未定义的函数获取”和 value nil
。fetch
仅供参考,在v8go 文档中有一个实施示例。
- 1 回答
- 0 关注
- 333 浏览
添加回答
举报
0/150
提交
取消