【发布时间】:2016-11-18 02:38:02
【问题描述】:
我做了一个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
我在
中的 node-modules index.js 文件中添加了console.log("HERE HRERE"); 行
req.on('end' function() {
console.log("HERE HRERE");
callback;
}
console.log("这里是 HRERE");下载完成后执行,但回调不执行。
【问题讨论】:
-
你直接调用你的endfunc,删除
(),maxDonwload.download(url,filename,endFunc); -
没有用。输出-
File Size : 0.50 MB downloading [====================] 100% 0.0s HERE HERE -
错误可能在这里,你能检查一下吗? index.js- GitHub
-
确实
callback;不会做任何事情...这就是我们想要的()...callback(); -
哦,谢谢@Keith。我现在明白了...
callback()
标签: javascript node.js npm callback node-modules