首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在戈朗使用JavaScript (V8go,Otto)?

如何在戈朗使用JavaScript (V8go,Otto)?
EN

Stack Overflow用户
提问于 2022-07-05 14:10:38
回答 1查看 296关注 0票数 0

我试图在Golang函数中运行JavaScript,并使用fetch通过Javascript上下文中的API获取JSON。

我在Otto中尝试了以下代码:

代码语言:javascript
复制
import "github.com/robertkrimen/otto"
代码语言:javascript
复制
    vm := otto.New()
    vm.Run(`
    function tryfunc() {
        console.log("Started");
        fetch('https://www.example.com/APIendpoint');
        console.log("Success");
    }
    tryfunc();
    `)

Otto的使用非常简单,但看起来Otto是一个事件总线,并不能管理fetch。

现在,我正在尝试使用v8go的以下代码:

代码语言:javascript
复制
import v8 "rogchap.com/v8go"
代码语言:javascript
复制
ctx := v8.NewContext()
ctx.RunScript(`fetch("https://www.example.com/APIendpoint"), ""`)

但这需要另一种说法。文档非常不清楚,甚至很难理解如何运行最简单的JS脚本。

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-05 17:01:58

Otto和v8实现了ECMAScript,目前的13.0版本不需要内置函数fetch (参见:https://262.ecma-international.org/13.0/#sec-function-properties-of-the-global-object),该函数是由web浏览器实现的。

我认为第二个参数只是一个文件名来前缀调试输出(例如: foo.js:14:未定义的栏),这在解释器中是非常常见的。

如果您打印出来自RunScript的输出(您忽略了返回值、JavaScript值和错误),我怀疑您的脚本确实运行了,它应该有一个“未定义的函数提取”和值nil。FYI有一个在fetch中实现v8go文档的示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72870879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档