当前位置: 首页 > article >正文

JS async await fetch 捕获后端500错误详细信息

客户端异步请求抛出的500友好错误信息,处理起来很困难,需要把后端代码逐个检查下。

若是抛出500错误详细信息,就可以快速把问题处理掉。

如果是响应的是文本,就用 response.text() 方法,JSON 就用 response.json() 方法。

async function bigFileUpload_click(sef) {
	const chunk_size = 1024*1024; // 1MB per chunk
	const file = sef.files[0];
	const fileSize = file.size;
	const totalChunks = Math.ceil(fileSize/chunk_size); // 向上取整
	const progressBar = $$('#progressBar');
	
	console.log(  file.name );return;
	
	for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {
		const start = chunkIndex * chunk_size;
		const end = Math.min(fileSize, start+chunk_size);
		const chunk = file.slice(start, end);
		const formData = new FormData();
		formData.append('act', 'bigFileUpload_click');
		formData.append('file', chunk);
		formData.append('fileName', file.name);
		formData.append('chunkIndex', chunkIndex);
		formData.append('totalChunks', totalChunks);
		
		progressBar.innerHTML = Math.ceil(chunkIndex/fileSize*100);
 
		await fetch(location.pathname,{
			method: 'POST',
			body: formData
		})
			.then(response => {
				if (response.status !== 200) {
					console.log('response:', response, response.text());
				}
			})
			.catch(error => {
				console.error('Error:', error)
			});
		;
	}
	
	progressBar.innerHTML = '100%';
}


http://www.kler.cn/a/459988.html

相关文章:

  • 免登录游客卡密发放系统PHP网站源码
  • log4j2的Strategy、log4j2的DefaultRolloverStrategy、删除过期文件
  • 基于SpringBoot和OAuth2,实现通过Github授权登录应用
  • Docker学习相关笔记,持续更新
  • Spring Boot 3 文件下载、多文件下载以及大文件分片下载、文件流处理、批量操作 和 分片技术
  • 基于Python的携程旅游景点数据分析与可视化
  • Visual Studio 中增加的AI功能
  • 【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(一)
  • JS中Symbol (符号)数据类型详解和应用场景
  • Gemma2 2B 模型的model.safetensors.index.json文件解析
  • win版ffmpeg的安装和操作
  • 基于问卷调查数据的多元统计数据分析与预测(因子分析、对应分析与逻辑回归)
  • Docker搭建RocketMQ
  • 基于源码剖析:深度解读JVM底层运行机制
  • CPT203 Software Engineering 软件工程 Pt.2 敏捷方法和需求工程(中英双语)
  • Unity3D仿星露谷物语开发11之添加Scenary Fader
  • 离线语音识别+青云客语音机器人(幼儿园级别教程)
  • Python基础--conda使用
  • 红黑树C/CPP
  • 【ES6复习笔记】对象方法扩展(17)
  • 一个复杂的SQL分析
  • FlaskAPI-交互式文档与includ_router
  • node.js之---事件驱动编程
  • 解决k8s部署dashboard时一直处于Pending状态的问题
  • Kotlin 协程基础知识总结一 —— 挂起、调度器与结构化并发
  • 微信小程序 覆盖组件cover-view