gpt4 book ai didi

javascript - 从 ClojureScript 使用 highcharts Node 导出服务器时出现问题 - "0x03 error when performing chart generation"

转载 作者:搜寻专家 更新时间:2023-10-31 23:50:33 25 4
gpt4 key购买 nike

我在 Node.js 上有一个 clojurescript 应用程序,我正在尝试将 highcharts 导出服务器用作 Node.js 模块,以便生成用于 PDF 生成的图表。

我遵循了此处“用作 Node.js 模块”下的示例:https://github.com/highcharts/node-export-server .此示例使用以下 javascript 对象作为图表的输入数据:

var exportSettings = {
type: 'png',
options: {
title: {
text: 'My Chart'
},
xAxis: {
categories: ["Jan", "Feb", "Mar", "Apr", "Mar", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
},
series: [
{
type: 'line',
data: [1, 3, 2, 4]
},
{
type: 'line',
data: [5, 3, 4, 2]
}
]
}
};

在 clojurescript 中复制此示例,将导出设置定义为 clojurescript 映射并将其转换回 javascript 对象:

(def test-chart (clj->js {:type    "png"
:options {:title {:text "My Chart"}
:xAxis {:categories ["Jan", "Feb", "Mar", "Apr", "Mar", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]}
:series [{:type "line"
:data [1 3 2 4]}
{:type "line"
:data [5 3 4 2]}]}}))

将测试图表对象记录到控制台确认它与示例中使用的 javascript 对象相同:

{ type: 'png',  
options: { title: { text: 'My Chart' },
xAxis: { categories: [Array] },
series: [{ type: 'line', data: [ 1, 3, 2, 4 ] },
{ type: 'line', data: [ 5, 3, 4, 2 ] }]
}
}

进一步调用所需的 Highcharts 函数来设置 phantom.js 工作池并生成示例中所示的图表:

(doto Highcharts
(.initPool)
(.export test-chart (fn [err res]
(when err (println "****" err))))
(.killPool))

使用转换后的 clojure 映射作为输入数据调用导出时,出现错误“执行图表生成时出现 0x03 错误:请检查您的输入数据”

文档示例在常规 Node.JS 中确实有效,但是当使用从 clojure 映射转换的输入数据从 clojurescript 调用导出时,导出失败并出现此输入数据错误。由于转换后的对象从控制台看起来是正确的,并且其他所有内容都应该通过 javascript 互操作完成,所以我不确定这里可能存在什么问题。

如果从 clojure 映射转换而来,是否有什么会导致导出器无法解析输入数据对象?或者问题可能是其他原因,检查输入数据是误导性的错误消息?

最佳答案

您的 ClojureScript 代码不等同于自述文件中的示例代码。在示例中,killPool 在传递给 export 的回调函数中被调用。在您的版本中,您在调用导出后立即调用 killPool,因此图表生成可能没有时间完成。我怀疑这是导致错误的原因。

更新后的 ClojureScript 看起来像这样:

(doto Highcharts
(.initPool)
(.export test-chart (fn [err res]
(when err (println "****" err))
(.killPool Highcharts))))

关于javascript - 从 ClojureScript 使用 highcharts Node 导出服务器时出现问题 - "0x03 error when performing chart generation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51878045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com