[英]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.