В моем 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, как показано ниже: