node.js - Masalah dengan komunikasi antara benang utama elektron dan benang rendering (bagaimana acara Menubar mendapatkan data daripada benang rendering)
大家讲道理
大家讲道理 2017-07-03 11:42:13
0
2
1283

Hello semua:

Saya menggunakan electron untuk menulis aplikasi yang serupa dengan editor Terdapat fungsi menyimpan fail dalam bar menu aplikasi:

Oleh kerana bar menu berada dalam utas utama, tetapi operasi simpan perlu mendapatkan kandungan dalam editor dalam utas pemaparan Laman web rasmi hanya mempunyai contoh utas pemaparan yang meminta utas utama (ipcMain和ipcRenderer),但是ipcMain好像不能主动请求ipcRenderer.

Jadi saya ingin bertanya kepada semua orang, bagaimanakah utas utama boleh secara aktif meminta utas pemaparan untuk memanggil kaedah utas pemaparan atau mencetuskan acara utas pemaparan?

Terima kasih!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(2)
曾经蜡笔没有小新

Menemui penyelesaiannya ^_^

Dalam acara ipcMainipcRenderer中同时监听两个相同名字的事件,然后在主线程中使用focusedWindow.webContents.send('save-file')触发ipcRenderersave-file事件,在ipcRenderersave-file事件中请求ipcMainsave-file dan bawa data yang sepadan

ipcUtama:

ipcMain.on('save-file' ,(event ,arg) => {
    console.log(arg)
})

ipcRenderer:

ipcRenderer.on('save-file' ,(event ,arg) => {
  ipcRenderer.send('save-file' ,'test')
})
巴扎黑

Anda boleh mengikat acara pada urutan pemaparan dahulu, contohnya, menyiarkan acara dalam fungsi ipcRenderer.on('save', save);,然后在用户点击菜单中的 Save 时触发这个事件,然后在 save dan mengeluarkan data yang anda perlukan.

Ia agak berbelit, tetapi itu sahaja yang saya boleh fikirkan buat masa ini.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan