我正在使用node webkit 0.7.5(这是迄今为止唯一允许我以正确方式显示视频的版本)。 我正在尝试下载一个大视频文件(200+ mb),有时(并非总是),当文件下载完成后,节点webkit崩溃了。调用Writestream.end(),即崩溃发生时。 我的代码:
var fs = require('fs');
var request = require("request");
var req = request(self.requestOptions(), function (err) {
if (err) {
//handle error
}
});
req.on("response", function (response) {
writeFile(response);
});
function writeFile(response) {
var file = fs.createWriteStream(filename);
var self = this;
response.on('data', function (data) {
file.write(data);
});
response.on('end', function () {
log.debug("response end");
file.end();//crash happens after calling this
});
response.on('error', function (err) {
//handle error, not called in this situation
});
file.on('finish', function () {
log.debug("file finish");
});
}
一般来说,这种方法效果很好,但是对于某些文件和情况,节点webkit只是决定调用它退出。 我做错了什么吗?我在网上寻找可能的线索或解决方案,但我没有找到任何东西。