[英]callback function executes before the finished request.on function
我制作了一個npm module
供個人使用,以使用request
下載文件並使用progress
顯示進度欄
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;
}
console.log(“ HERE HRERE”); 下載完成后執行,但回調不執行 。
您正在調用該函數,而應將其作為不帶()的參數傳遞:
maxDonwload.download(url,filename,endFunc);
您正在調用endFunc()而不是將函數本身作為參數傳遞。
這應該解決它:
maxDonwload.download(url,filename,endFunc);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.