当我创建基本应用程序并使用electron
命令初始化它时,它会向我显示一个空白窗口,稍后加载内容.
在内容完全加载后,应该使用哪个事件和哪个对象来显示窗口?
did-finish-load
在一个window.webContent
对象上?或许dom-ready
?或者别的什么?
app.js:
var app = require('app'),
Window = require('browser-window'),
mainWindow = null;
require('crash-reporter').start();
app.on('ready', function() {
mainWindow = new Window({ width: 600, height: 400, show: false });
mainWindow.loadUrl('file://' + __dirname + '/index.html');
mainWindow.show();
//
// mainWindow.webContent.on('did-finish-load', function() {
// something like that is a proper way?
// });
//
});
Run Code Online (Sandbox Code Playgroud) 我在Node(4.2.3)中有这个基本快速(4.13.3)服务器.
//blah blah initialization code
app.put('/', function(req, res) {
req.on('close', function() {
console.log('closed');
});
req.on('end', function() {
console.log('ended');
});
req.on('error', function(err) {
console.log(err);
});
res.send(200);
});
Run Code Online (Sandbox Code Playgroud)
然后我使用cURL模拟文件上传,如下所示:
curl http://localhost:3000/ -X PUT -T file.zip
Run Code Online (Sandbox Code Playgroud)
它开始上传(尽管它没有任何反应),当它结束时,事件就会end
触发.
当我用Ctrl+ 中止上传时,问题就开始了C.根本没有事件发生.什么都没发生.
req
对象继承自IncomingMessage
,继承自Readable
,Stream
和EventEmitter
.
是否有任何事件可以捕获这样的中止?有没有办法知道客户端是否中止文件上传?
用户@AwalGarg建议,req.socket.on('close', function(had_error) {})
但我想知道是否有任何解决方案没有使用套接字?