首页   注册   登录
 icris 最近的时间轴更新

icris

V2EX 第 187535 号会员,加入于 2016-08-18 09:53:36 +08:00
今日活跃度排名 251
icris 最近回复了
@zeyexe #294
具体例子,从 axios 拿来一段
```
async function getUser() {
try {
const response = await axios.get('/user?ID=12345');
console.log(response);
} catch (error) {
console.error(error);
}
}
```
一般的 code msg data 逻辑,业务代码在 console.log(response); 一行,catch 里只有网络异常; status code 逻辑,业务代码在 console.log(response); 和 console.error(error); 两个部分,视情况两个部分可能还有完全相同的处理代码,因为失败不一定只是弹窗提示就完了。
我是觉得业务代码在 try 内部比较正常,这想法总没错吧。
@zeyexe #292
前端用的比较多的 axios 的默认处理逻辑,当你写 await axios.get(); 的时候,你的 4xx 5xx 错误是在 catch 里的。想要代码能看,只能不用 await。
可能有不是这样的,也可能有是这样的,即使不是这样,服务器错误和 503 在一块儿也不像正常逻辑。
5xx 不需要 if 分支,catch 里直接报网络异常完全没有问题。
@no1xsyzy #267
难以理解。
简单举例,简单分页请求,类型 Error | [{}],无数据或页码超出的时候返回应该是什么样? status code 404 (或者 499 ) ?那就有失败的网络请求走到正常的显示流程这种难以理解的情况了。
类型 Error | { code?:number, data:[{}] } 的话,直接合并成 { code?:number, msg?: string, data: T } 显然更方便,code msg 又不是不能不返回,「成功无自定义码,失败带码」。
@cmobiooo #72
http 404 浏览器会有友好提示页面,不在 code 里写 404 我记得是挺通用的做法
31 天前
回复了 Shoestrong 创建的主题 程序员 Linux 用 ls 么
Desktop 在 Finder 里显示桌面,还有一套复杂的操作给自己的文件夹添加本地化,建议觉得这个需求没有必要的学习一个(
@exploreXin #8
flappy bird 警告(
create react app 会创建一个 serviceWorker,给所有请求响应 index.html,可以创建一个然后把 serviceWorker 逻辑复制进项目里
64 天前
回复了 amiwrong123 创建的主题 程序员 Java 泛型擦除与补偿的迷惑
类型是类型,对象是对象,kind 是对象,给 kind 标成 Object 它一样保存类型信息。
简单的解决方案:Java 一开始没有范型。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1248 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 11ms · UTC 17:45 · PVG 01:45 · LAX 09:45 · JFK 12:45
♥ Do have faith in what you're doing.