electron学习---ipcMain&request

2019-10-29  本文已影响0人  二营长家的张大炮

ipcMain

从主进程到渲染进程的异步通信。

npm install electron-store


// 在主进程中.
const { ipcMain } = require('electron')
ipcMain.on('asynchronous-message', (event, arg) => {
  console.log(arg) // prints "ping"
  event.reply('asynchronous-reply', 'pong')
})

ipcMain.on('synchronous-message', (event, arg) => {
  console.log(arg) // prints "ping"
  event.returnValue = 'pong'
})


//在渲染器进程 (网页) 中。
const {
    ipcRenderer
} = require('electron')

ipcRenderer.on('asynchronous-reply', (event, arg) => {
    console.log('event', event)
    console.log('arg', arg) // prints "pong"
})
function sendRequest() {
const {
    net
} = require('electron').remote
    const request = net.request('https://github.com')
    request.on('response', (response) => {
        console.log(`STATUS: ${response.statusCode}`)
        console.log(`HEADERS: ${JSON.stringify(response.headers)}`)
        response.on('data', (chunk) => {
            console.log(`BODY: ${chunk}`)
        })
        response.on('end', () => {
            console.log('No more data in response.')
        })
    })
    // 关闭
    request.end()
}

electron-store


const Store = require('electron-store');

const store = new Store();

store.set('unicorn', '🦄');
console.log(store.get('unicorn'));
//=> '🦄'

// Use dot-notation to access nested properties
store.set('foo.bar', true);
console.log(store.get('foo'));
//=> {bar: true}

store.delete('unicorn');
console.log(store.get('unicorn'));
上一篇 下一篇

猜你喜欢

热点阅读