为什么我无法将JSON数据发送到ipcRenderer

时间:2019-06-20 13:52:45

标签: javascript json electron dom-events ipcrenderer

在我的main.js app.on("ready")中,我调用了一个名为runTimer()的函数,其中包含以下内容:

const runTimer = function(){
    const { net } = require('electron')
    setInterval(async function () {
        if (seconds == 0) {
            const request = await net.request("https://localhost:6001/api/traintimes");
            request.on("response", (response) => {
                if (response.statusCode === 200) {
                    response.on("data", (data) => {
                        mainWindow.webContents.send("render-update", data);
                        console.log(`Body: ${data}`);
                    });
                    response.on("end", () => {
                        console.log("No more data in response.");
                    });
                }
            });
            request.end()
            seconds = 5;
        }
        seconds--
        mainWindow.webContents.send("counting", seconds);

    },1000)
}

当我在以下行中进行控制台记录时,我可以在控制台中看到要发送到UI的数据:

console.log(`Body: data`);

因此,我希望以下行将相同的JSON数据发送到UI。

mainWindow.webContents.send("render-update", data);

但是,我在UI中得到了unit8Array结果,但我不确定为什么它不显示在控制台中紧随其后的行中记录的JSON结果。

IPC渲染器

ipcRenderer.on("fetched-train-update", (evt, data) => {
  console.log(data);
})

基本上,没有得到UI控制台中记录的JSON数据,而是得到unit8Array,如下所示:

enter image description here

0 个答案:

没有答案