HTML EventSource在电子应用程序中未关闭

时间:2018-07-14 15:03:38

标签: html electron eventsource

下面的代码在浏览器中工作正常。但是当用于电子时,事件源不会关闭。

 var source = new EventSource("http://localhost/hyperion_datasource/events/powerup_events.php");
    var data=[];
    source.onmessage = function (event) { 
         data = event.data.split("$");
         console.log(data[0]);    
        if (data[0] > 99) {  
            console.log('closing stream'); 
            source.close();
        }

    };

1 个答案:

答案 0 :(得分:0)

在调用close()之后,还将值设置为null。然后可以将其销毁并进行垃圾收集。

 var source = new EventSource("http://localhost/hyperion_datasource/events/powerup_events.php");
    var data=[];
    source.onmessage = function (event) { 
         data = event.data.split("$");
         console.log(data[0]);    
        if (data[0] > 99) {  
            console.log('closing stream'); 
            source.close();
            source = null;
        }

    };

我怀疑您应该这样做,以便它也能在所有浏览器中可靠地工作。行为上的差异也可能是由于在Electron前端中运行它的范围不同所致。