首先,该代码使用GraphQL查询发出HTTP请求,以获取MQTT订阅URL,客户端ID和要订阅的主题。该项目使用Paho 1.1.0,然后使用这些数据,它尝试连接到MQTT代理。代码运行时,我只能获取MQTT URL,但是当它尝试连接到AWS AppSync Broker时,它将引发NullPointerException:
Exception in thread "main" MqttException (0) - java.lang.NullPointerException, compiling:(/tmp/form-init1329614074410829203.clj:1:73)
at clojure.lang.Compiler.load(Compiler.java:7391)
at clojure.lang.Compiler.loadFile(Compiler.java:7317)
at clojure.main$load_script.invokeStatic(main.clj:275)
at clojure.main$init_opt.invokeStatic(main.clj:277)
at clojure.main$init_opt.invoke(main.clj:277)
at clojure.main$initialize.invokeStatic(main.clj:308)
at clojure.main$null_opt.invokeStatic(main.clj:342)
at clojure.main$null_opt.invoke(main.clj:339)
at clojure.main$main.invokeStatic(main.clj:421)
at clojure.main$main.doInvoke(main.clj:384)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: MqttException (0) - java.lang.NullPointerException
at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:38)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:664)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketHandshake.receiveHandshakeResponse(WebSocketHandshake.java:133)
at org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketHandshake.execute(WebSocketHandshake.java:74)
at org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketSecureNetworkModule.start(WebSocketSecureNetworkModule.java:77)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:650)
... 1 more
Run Code Online (Sandbox Code Playgroud)
调试时,我意识到经纪人实际上返回了403 Forbidden
代码:
project.clj
(defproject gateway-clj "0.1.0-SNAPSHOT"
:description "test" …Run Code Online (Sandbox Code Playgroud) 我是react.js 和Javascript 的新手。我的工作是在图片上方添加一个下载按钮,点击后就会下载SVG格式的图片。我有一种方法有效,我将下载函数写入图像生成文件中,并调用该函数。但是只要我需要添加更多按钮,我发现图像svg文件在html页面里面。为什么我不能直接将 svg 内容保存到文件中。例如:按钮下载内容在我的react.js代码中,RankedBarchart渲染就是我想要的。有什么方法可以直接获取内容或下载内容。
<h2>
BMC values: sorted by {chartName}{' '}
<button onClick={plot_download_form} class="btn btn-primary">
Export plot
</button>
</h2>
<RankedBarchart
// the visualization function not affect the plot
// the selectedAxis is the main function to show tables,
// check the RankedBarchart file, selectedAxis part
data={plotData}
visualization={this.props.visualization}
selectedAxis={this.props.selectedAxis}
/>
Run Code Online (Sandbox Code Playgroud)