【Web前端问题】想写一个通过http请求下载多个视频文件的函数,结果总是多了好几请求,请问问题在哪里

    function loadsavesomets(urls,filenames,callback) {

var dirPath = dir+'/';

var filename = '';

var i=0

var url = '';

function loadsaveonets() {

if (i>=urls.length) {

return false

}

console.log('开始下载第' + i + '个视频');

url = urls[i];

filename = filenames[i]+'.ts';

var timer

var writeStream

var req

//开始计时

timer = setTimeout(function() {

console.log('第' + i + '个视频下载超时,重新开始下载')

req.abort()

writeStream.end()

loadsaveonets()

}, 2*60*1000);

if (i>=urls.length) {

return false

}else{

writeStream = fs.createWriteStream(dirPath + filename);

req = superagent.get(url)

req.pipe(writeStream);

writeStream.on('close', function() {

console.log('第' + i + '个视频下载完成')

//清除计时

clearTimeout(timer)

i++

if (i==urls.length) {

console.log('所有ts下载完成')

return false

}else if (i>urls.length) {

return false

}else{

loadsaveonets()

}

})

}

}

loadsaveonets()

}

图片描述

实际上只有39个下载链接,这里出现了52个请求。
请问是req.abort()没有成功导致的还是writeStream.end()导致的

以上是 【Web前端问题】想写一个通过http请求下载多个视频文件的函数,结果总是多了好几请求,请问问题在哪里 的全部内容, 来源链接: utcz.com/a/141720.html

回到顶部