2016-10-28 110 views
1

我對編程有點不熟悉。我的問題是我想下載一個文件,然後做一些事情。下載完文件後做些什麼

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

看看這是否適合你。只需將該請求保存到變量並檢查其上的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'); }); 
     });