【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