2016-11-16 92 views
-1

我做了一個npm module我私人使用的文件 使用request並顯示使用progress回調函數完成request.on功能

https://github.com/MaxySpark/maxyspark-download

進度條,下載之前執行,但是當我測試它回調函數首先執行,它應該在完成下載後執行。

我的測試文件

const maxDonwload = require('maxyspark-download'); 

var filename = "prog.gif"; 
var url = "http://skillprogramming.com/images/pictuers/how_many_of_you_get_the_same_feeling.gif"; 
function endFunc() { 
    console.log("download completed : "+filename); 
} 
maxDonwload.download(url,filename,endFunc()); 

這裏是輸出

download completed : prog.gif 
File Size : 0.50 MB 

    downloading [====================] 100% 0.0s 
HERE HERE 

我添加了一個線console.log("HERE HRERE");到節點模塊index.js文件中

req.on('end' function() { 
    console.log("HERE HRERE"); 
    callback; 
} 

enter image description here

console.log(「HERE HRERE」);在下載完成後執行,但回調不是

+0

你叫你的ENDFUNC直線距離,刪除' ()',''maxDonwload.download(url,filename,endFunc);' – Keith

+0

沒有奏效。輸出- '文件大小:0.50 MB 下載[====================] 100%0.0s HERE HERE' – MaxySpark

+0

錯誤可能在這裏 can你請檢查一下嗎? [index.js- GitHub](https://github.com/MaxySpark/maxyspark-download/blob/master/index.js) – MaxySpark

回答

3

您調用的函數,而應該把它作爲一個參數不適用():

maxDonwload.download(url,filename,endFunc); 
+0

沒有奏效。輸出- '文件大小:0.50 MB 下載[====================] 100%0.0s 這裏是' – MaxySpark

+0

錯誤可能在這裏 can你請檢查一下嗎? [index.js- GitHub](https://github.com/MaxySpark/maxyspark-download/blob/master/index.js) – MaxySpark

+0

在我的電腦上工作,保存文件。它只記錄下載的時間。這對我來說是圖書館的錯誤。 – user2693928

1

您正在調用endFunc()而不是將函數本身作爲參數傳遞。

這應該修復它:

maxDonwload.download(url,filename,endFunc); 
+0

沒有工作。輸出- '文件大小:0.50 MB 下載[====================] 100%0.0s 這裏是' – MaxySpark

+0

錯誤可能在這裏 can你請檢查一下嗎? [index.js- GitHub](https://github.com/MaxySpark/maxyspark-download/blob/master/index.js) – MaxySpark