Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 回调函数在完成的request.on函数之前执行_Javascript_Node.js_Npm_Callback_Node Modules - Fatal编程技术网

Javascript 回调函数在完成的request.on函数之前执行

Javascript 回调函数在完成的request.on函数之前执行,javascript,node.js,npm,callback,node-modules,Javascript,Node.js,Npm,Callback,Node Modules,我制作了一个npm模块供我个人下载文件 使用请求并使用进度显示进度栏 但是当我测试它时,回调函数首先执行,它应该在下载完成后执行 我的测试文件 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"; f

我制作了一个npm模块供我个人下载文件 使用请求并使用进度显示进度栏

但是当我测试它时,回调函数首先执行,它应该在下载完成后执行

我的测试文件

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.logHERE-HRERE中添加了一个命令行;到中的节点模块index.js文件

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

console.logHERE-HRERE;下载完成后执行,但回调不执行。

您正在调用endFunc,而不是将函数本身作为参数传递

这应该可以解决这个问题:

maxDonwload.download(url,filename,endFunc);

调用函数时,应将其作为参数传递,而不使用:

maxDonwload.download(url,filename,endFunc);

如果要立即调用endfunc,请删除maxDonwload.downloadurl、filename、endfunc;不起作用。输出-文件大小:0.50 MB下载[=================================]100%0.0s此处错误可能在此处您可以检查此项吗?的确是回调;我什么都不会做。。。这是我们想要的。。。回调;哦,thanx@Keith。我现在明白了…回拨不起作用。输出-文件大小:0.50 MB下载[=================================]100%0.0s此处错误可能在此处您可以检查此项吗?不起作用。输出-文件大小:0.50 MB下载[=================================]100%0.0s此处错误可能在此处您可以检查此项吗?在我的电脑上,它正在工作,保存文件。它只记录下载所花费的时间。对我来说,这是图书馆里的错误!有两个错误,一个是您提到的,另一个是在节点模块的index.js文件中,我写了callback,它应该是callback,正如@Keith所说的