posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 game golang 客户端开发 Minigame Saas rust Python Java cg Typescript
typescript

《TypeScript编程入门》14.3 并发控制、取消与超时

本节解决异步编程里最容易被忽略的三个问题:并发数不受控、任务无法取消、请求没有超时。我们手写一个泛型并发池,把 AbortController 与 AbortSignal 的取消链路讲透,用 AbortSignal.timeout 与 Promise.race 实现两种超时方案,再给出指数退避重试与竞态防护的写法,读完你能写出可控、可中断、可观测的异步批处理代码。

9 分钟阅读
TypeScript TypeScript编程入门 并发控制
typescript

《TypeScript编程入门》14.2 Promise 与 async/await 的类型

本节把 Promise 当成带类型参数的状态机来拆解:Promise<T> 里的 T 描述什么,then、catch、finally 如何传递与拓宽类型,async 函数为什么必须返回 Promise<T>,await 又做了怎样的解包。我们用表格对比 all、allSettled、race、any 的类型差异,讲清串行与并行 await 的性能陷阱,并给出类型安全的请求封装写法。

8 分钟阅读
TypeScript TypeScript编程入门 async/await
typescript

《TypeScript编程入门》14.1 错误类型与 Result 模式

本节把「错误」当成类型问题来讨论:为什么 catch 的参数只能是 unknown,如何用自定义错误类配合 instanceof 收窄,以及如何用判别联合把失败编码成返回值。我们会手写一个带 map、mapErr、unwrap 的 Result 类型,并用表格对比异常与 Result 各自的适用边界,读完你能为业务代码选出一套可推导、可穷尽检查的错误处理方案。

9 分钟阅读
TypeScript TypeScript编程入门 错误处理
typescript

《TypeScript编程入门》13.3 API 契约与边界数据校验

本节把校验真正落到工程上:先列出一份完整的边界清单,再逐个给出落地方式——环境变量启动期校验并 fail fast、封装带 schema 的 typedFetch 解析上游响应、用泛型中间件校验 HTTP 请求体、区分 4xx 与 5xx 的错误归属、用 strict 与 passthrough 处理契约演进,最后用契约测试把前后端对齐。读完你能在自己的项目里搭出一套完整的边界防线。

10 分钟阅读
TypeScript TypeScript编程入门 API 契约
typescript

《TypeScript编程入门》13.2 Zod 模式验证与类型推导

本节介绍如何在运行时检查数据形状:用 Zod 声明 schema,用 z.infer 让编译期类型自动推导,告别「类型与校验规则各写一份」的漂移。内容覆盖 parse 与 safeParse 的取舍、issues 结构、optional/default/transform/refine 等修饰、z.input 与 z.output 的差异、判别联合与递归 schema,以及常见坑。

8 分钟阅读
TypeScript TypeScript编程入门 Zod
typescript

《TypeScript编程入门》13.1 类型擦除带来的运行时盲区

本节从类型擦除讲起:TypeScript 编译时会把 interface、类型注解与断言全部抹掉,只留下 JavaScript,于是「编译通过」并不等于「运行时安全」。我们会逐一拆开真实项目里最容易出事的几类盲区,包括 JSON.parse 后的断言、越界索引、Object.keys 的字符串键、结构化类型的多余属性、非空断言与异步回调,并给出信任边界清单,帮你判断校验该加在哪里。

8 分钟阅读
TypeScript TypeScript编程入门 类型擦除