簡體   English   中英

回調函數在完成請求之前執行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM