Electron学习笔记:渲染进程向主进程注册回调的坑
以下代码会出现错误
// 主进程 const el = require('electron'); el.app.testMain = { testName: 'main process object', testCallback: function(callback) { callback.apply(this); } }; // 渲染进程 const mt = require('electron').remote.app.testMain; mt.testCallback(function() { console.log(this.testName); });
渲染进程的回调方法在主进程中调用时,被封装成一个名为callInRenderer
的方法,因此使用apply
绑定this
时,并没有实际绑定到渲染进程的回调方法上面。
以下代码可解决:
// 主进程 const el = require('electron'); el.app.testMain = { testName: 'main process object', testCallback: function(callback) { callback.apply(null, [this]); } }; // 渲染进程 const mt = require('electron').remote.app.testMain; mt.testCallback(function(ref) { console.log(ref.testName); });
相关推荐
游走的豚鼠君 2020-11-10
sanallen 2020-07-04
electronvolt 2020-07-04
sanallen 2020-06-14
moyigg 2020-06-09
疯狂老司机 2020-06-07
zhujuyu 2020-06-06
moyigg 2020-06-01
zhujuyu 2020-05-30
viewerlin 2020-05-29
zhujuyu 2020-05-28
yanchuncheng 2020-05-12
Trustport 2020-05-06
chenyijun 2020-05-05
electronvolt 2020-05-04
游走的豚鼠君 2020-05-01
electronvolt 2020-04-21
游走的豚鼠君 2020-04-18