在下载文件后执行某些操作

时间:2016-10-28 20:18:53

标签: javascript node.js

我对编程很新。我的问题是我想下载一个文件,然后再做一些事情。

Danbooru.search(tag, function (err, data) { //search for a random image with the given tag
    data.random() //selects a random image with the given tag
        .getLarge()  //get's a link to the image
        .pipe(require('fs').createWriteStream('random.jpg')); //downloads the image
    });

现在我想在下载文件后执行console.log。我不想使用setTimeout,因为文件将花费不同的时间下载。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

看看这是否适合您。只需将请求保存到变量并检查其上的finish事件即可。

Danbooru.search(tag, function (err, data) { 
        var stream = data.random() 
            .getLarge() 
            .pipe(require('fs').createWriteStream('random.jpg'));

            stream.on('finish', function() { console.log('file downloaded'); });
        });