IbpTeam / demo-webde

0 stars 0 forks source link

"Uncaught TypeError: Cannot call method 'close' of null", source: file:///home/j/webde/repo/app/demo-webde/nw/js/common.js (162) #134

Closed jianminww closed 9 years ago

jianminww commented 9 years ago

这个错误之前出现过几次,与 @CannedFish 讨论后,应该是由于watcher未正常进行设置。

开启sublime时会有此错误,而关闭后就不存在了。

应该是由于下面这条语句没有正常执行

_this._watcher = _global._fs.watch(_this._watchDir
        , function(event, filename) {
          if(event == 'change' || filename.match(_this._ignore) != null) return ;
          _this._evQueue.push(filename);
        });
  1. 针对watcher的调用应该增加检测语句,如果为空则提示错误。
  2. 针对 _global._fs.watch这一句应该也增加错误检测,如果未能watch成功,那么应该进行相应的处理。
CannedFish commented 9 years ago

这个不一定是这里的错误,有可能是在这之前就已经发生错了,而在页面down掉时会触发unload事件,进而在里面调用这个不存在的句柄,我这边会在释放的时候加一个判断,看是否为空。