跳转到内容

Serial

Serial 类用于生成递增 ID,主要用于双向通信中的 RPC 请求 ID 生成。ID 会循环生成,以避免超过安全整数范围。当 ID 超过最大值时,会重置为 1。

导入

import { Serial } from "@tai-kun/surrealdb/utils";

.constructor()

new Serial(max?: number);

参数

max

设置递增 ID 的最大值。有效值为 1 到 2^53-1 之间的整数。默认值为 2^53-1。

返回值

通过 new 调用时,Serial 返回其实例。

例子

以下示例演示了基本用法:

import { Serial } from "@tai-kun/surrealdb/utils";
const id = new Serial(3);
console.log(id.next());
console.log(id.next());
console.log(id.next());
console.log(id.next());
console.log(id.next());
id.reset();
console.log(id.next());
console.log(id.next());

输出:

1
2
3
1
2
1
2

.next() 实例 方法

.next 函数用于获取下一个 ID。

next(): number;

参数

无。

返回值

返回 1 到 max 之间的整数。如果该值为最大值,则下一个获取的值为 1。

.reset() 实例 方法

reset(): void;

参数

无。

返回值

无。