评论

统计多张图片上传到服务器过程中失败的张数,示例代码

统计多张图片上传到服务器过程中失败的张数,示例代码

// 统计多张图片上传到服务器过程中失败的张数,示例代码
function submit(){


	var countPromise = [];


	var files = [
		"http://tmp/wx2020.o6AdxKt6o.0jCN63JzAkZfc367690b907625ee19dde167f9a0c2e5.png",
		"http://tmp/wx2020.o6AdxKt6o.hcpVIUyYJ8Hn3e05e34de47d5a979b9fbc111f8e9590.png",
		"http://tmp/wx2020.o6AdxKt6o.uX5umpwlnx4N78f7c7bfbaa55a74f3561922d0d0e358.png",
		"http://tmp/wx2020.o6AdxKt6o.te0sK16lJEvP526fc649f4de145daa982abfe685f806.png",
		"http://tmp/wx2020.o6AdxKt6o.te0sK16lJEvP526fc649f4de145daa982abfe685f805.png",
	]; // 临时地址


	// 将临时地址队列循环上传到服务器
	files.forEach((item,index)=>{


		var uploadPromise = new Promise((resolve, reject) => {
			ajaxData(item, index , function(status){
				resolve(status ? true : false)
			})
		})


		countPromise.push(uploadPromise);  


		Promise.all(countPromise).then(uploadFiles => {
			console.log("uploadFiles=>",uploadFiles);  // [false, true, false, true, false]
	      	if(uploadFiles.length == countPromise.length ){
	      		var errNum = 0;
		      	uploadFiles.forEach((status) => {
			        if (!status) {
						errNum++
			        }
		      	})
		      	if(errNum){
		      		console.log("上传失败的图片共有:" + errNum + "张")	
		      	}
	      	}
		});
	})
	/**
	 * ajaxData 网络通信请求
	**/
	function ajaxData(item, index , callback){
		// console.log("ajaxData 1 index=>",index);
		setTimeout(()=>{
			console.log("ajaxData 2 index=>",index);
			if(!!callback){
				callback(index % 2 == 1)
			}
		}, 1 * 1000); // 零秒时刻 : 1 3 2 
		// console.log("ajaxData 3 index=>",index);
	}
}


最后一次编辑于  04-23  
点赞 1
收藏
评论

1 个评论

  • wang li
    wang li
    04-23

    留名后看

    04-23
    赞同
    回复
登录 后发表内容