百科问答小站 logo
百科问答小站 font logo



如何评价 Typescript 的运行时类型检测工具io-ts? 第1页

  

user avatar   Broooooklyn 网友的相关建议: 
      

我一直不知道前端里面用了 strict TypeScript 之后这种 Runtime validator 有啥用。

因为 strict TypeScript 本身已经足够 sound,runtime error 无非来自于后端 API 返回的数据与类型定义不一致。

而这个问题来自两种原因:

1. 开发的时候和后端没沟通清楚,类型写错了,该 option 的没有 option,该 | null 的没有 | null 。

2. 沟通清楚了,后端没有按约定实现接口或者后端有莫名其妙的 bug 这个字段就是为空。


对于这两种问题的解决方案,第一种应该是改接口的类型描述而不是用所谓的安全版取值方法或 validate 方法取值

第二种问题应该是通过日志监控报警,把犯罪证据留下第一时间发现问题并且把锅甩出去。


这种所谓的数据校验的 lib,徒增一大坨用来抽象数据的方法,解决不存在的问题。

如果是后端的问题让后端去改。如果是前端的接口类型定义错了应该把接口定义改对,这样 TypeScript 就能保护你不受空值问题的影响。

如果你没有日志监控报警那就去搭一个日志监控报警。




  

相关话题

  前后端分离项目,接口返回 200 但是里面返回 500 合理吗? 
  能够用WordPress仿造apple、魅族官网吗? 
  用python如何写网页?有好的教程码? 
  为什么知乎上大家都觉得前端自学比培训好? 
  对于大型项目,静态类型是必须的吗? 
  有没有什么开发工具可以自动识别设计稿中元素的尺寸、坐标? 
  前端开发的难点到底在什么地方? 
  随着 JavaScript 越来越完善,还有必要学习 TypeScript 吗? 
  为什么 JS 不能绕过后端代码直接调数据库,有哪些后端处理的逻辑,JS 不能写? 
  setTimeout 真的有用吗? 

前一个讨论
暗黑破坏神一算是mmoRPG吗?
下一个讨论
JavaScript 最失败的设计是 arguments 吗?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利