为什么在下载大文件时节点webkit会崩溃?

时间:2015-02-24 12:17:16

标签: node.js stream download node-webkit

我正在使用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只是决定调用它退出。 我做错了什么吗?我在网上寻找可能的线索或解决方案,但我没有找到任何东西。

0 个答案:

没有答案