Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 电子(主)通知API';打开。单击';事件不总是有效的_Javascript_Node.js_Electron - Fatal编程技术网

Javascript 电子(主)通知API';打开。单击';事件不总是有效的

Javascript 电子(主)通知API';打开。单击';事件不总是有效的,javascript,node.js,electron,Javascript,Node.js,Electron,我对这个问题有意见。我总是收到通知,但通常不会执行通知上的单击事件。有时单击事件只执行前2次,有时仅执行第10次,有时根本不执行 出现问题的视频文件: 这是我的代码: function showNotification () { const notificationOptions = { title: 'SysInfoGrabber', body: 'Raport PDF został utworzony na pulpicie w folderze &q

我对这个问题有意见。我总是收到通知,但通常不会执行通知上的单击事件。有时单击事件只执行前2次,有时仅执行第10次,有时根本不执行

出现问题的视频文件:

这是我的代码:

function showNotification () {
    const notificationOptions = {
        title: 'SysInfoGrabber',
        body: 'Raport PDF został utworzony na pulpicie w folderze "Raporty"',
        icon: path.join(__dirname, 'files/icon.png')
    }
    const reportNotification = new Notification(notificationOptions);
    
    reportNotification.on('show', () => { 
        console.log('Notification is shown'); 
    });
    reportNotification.on('click', () => {
        console.log("Notification clicked");
    });
    reportNotification.show();  
}


mainFunction(){

    [...CODE...]

    // Show notify
    showNotification();
}

您遇到的问题可能是由于常量
reportNotification
showNotification()
函数中本地声明,并将在函数退出后的一段时间内被垃圾收集,并且附加到它的事件处理程序将不再可用

尝试将
reportNotification
全局声明为任何其他函数之外的变量(使用
let


我不认为一个具有现有附加侦听器('show','click')的对象会获得GC'dThanks,但我已经使用了
节点通知程序
。此模块运行良好:)
let reportNotification;

function showNotification () {
    const notificationOptions = {
        title: 'SysInfoGrabber',
        body: 'Raport PDF został utworzony na pulpicie w folderze "Raporty"',
        icon: path.join(__dirname, 'files/icon.png')
    }
    reportNotification = new Notification(notificationOptions);
    
    reportNotification.on('show', () => { 
        console.log('Notification is shown'); 
    });
    reportNotification.on('click', () => {
        console.log("Notification clicked");
    });
    reportNotification.show();  
}


mainFunction(){

    [...CODE...]

    // Show notify
    showNotification();
}