😱 像多线程那样去轮询多个状态,不同的状态满足后去执行不同的定时任务。 项目地址

该状态机基本是为写游戏自动脚本量身定做,它就是整个脚本的”调度中心”。即使是基于 Node.js 的单线程,你也能够实现”同时”检测角色血条,掉落物品,游戏状态等等各种来触发不同的操作,搭配 dm.dll 食用更佳!如下图是本人之前做的流放之路脚本的主框架部分代码:

本文会不定期更新,我遇到的觉得值得分享的 TypeScript 问题都会写在这里

如果你有一些问都不知道咋问的 TypeScript 问题,来这里翻翻或许能找到答案!

互斥类型

2019.09.19 新增

1
2
3
4
5
// https://github.com/Microsoft/TypeScript/issues/14094#issuecomment-373782604
type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never }
type XOR<T, U> = (T | U) extends object
? (Without<T, U> & U) | (Without<U, T> & T)
: T | U

使用上面的 XOR 范型,我们可以很容易地实现如下需求: