Почему я не могу отправить данные JSON в ipcRenderer - PullRequest
0 голосов
/ 20 июня 2019

В моем 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)
}

Я вижу в консоли данные, которые я хочу отправить в пользовательский интерфейс, когда консоль регистрирует их в следующей строке:

console.log(`Body: data`);

поэтому я ожидаю, что следующая строка отправит те же данные JSON в пользовательский интерфейс.

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

Однако я получаю результат unit8Array в пользовательском интерфейсе, и я не уверен, почему он просто не отображает результат JSON, который регистрируется в консоли в строке сразу после него.

МПК Renderer

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

По сути, вместо регистрации данных JSON в консоли пользовательского интерфейса я получаю unit8Array, как показано ниже:

enter image description here

...