SqliteClient
Defined in: packages/rxdb-adapter-wa-sqlite/src/SqliteClient.ts:26
事件调度器 提供类型安全的事件添加、移除和分发功能
Example
// 定义事件类型
interface MyEvents {
'click': { x: number; y: number };
'change': { value: string };
}
// 创建事件调度器
class MyEventDispatcher extends EventDispatcher<MyEvents> {}
// 使用事件调度器
const dispatcher = new MyEventDispatcher();
dispatcher.addEventListener('click', (data) => {
console.log(`Click at ${data.x}, ${data.y}`);
});
dispatcher.dispatchEvent('click', { x: 10, y: 20 });
Extends
EventDispatcher<SqliteClientEvents>
Constructors
Constructor
new SqliteClient(): WaSqliteClient;
Returns
WaSqliteClient
Inherited from
Methods
addEventListener()
addEventListener<T>(type, listener): void;
Defined in: packages/utils/dist/tools/event.d.ts:58
添加事件监听器
Type Parameters
| Type Parameter |
|---|
T extends keyof SqliteClientEvents |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | 事件类型 |
listener | EventListener<SqliteClientEvents[T]> | 事件监听器函数 |
Returns
void
Inherited from
EventDispatcher.addEventListener
disconnect()
disconnect(): Promise<void>;
Defined in: packages/rxdb-adapter-wa-sqlite/src/SqliteClient.ts:69
断开数据库连接
等待所有待执行任务完成后关闭数据库连接
Returns
Promise<void>
dispatchEvent()
dispatchEvent<T>(type, data): void;
Defined in: packages/utils/dist/tools/event.d.ts:77
分发事件
Type Parameters
| Type Parameter |
|---|
T extends keyof SqliteClientEvents |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | 事件类型 |
data | SqliteClientEvents[T] | 事件数据 |
Returns
void
Inherited from
execute()
execute(sql, bindings?): Promise<SqliteSuccessResult>;
Defined in: packages/rxdb-adapter-wa-sqlite/src/SqliteClient.ts:101
执行 SQL 语句
所有查询自动排队,保证串行执行避免并发冲突
Parameters
| Parameter | Type | Description |
|---|---|---|
sql | string | SQL 语句(支持多语句,用分号分隔) |
bindings? | SQLiteCompatibleType[] | 参数绑定(可选) |
Returns
Promise<SqliteSuccessResult>
执行结果
Throws
当客户端已断开连接时
Example
const result = await client.execute(
'SELECT * FROM users WHERE id = ?',
[userId]
);
hasEventListener()
hasEventListener<T>(type, listener): boolean;
Defined in: packages/utils/dist/tools/event.d.ts:65
检查是否已添加指定的事件监听器
Type Parameters
| Type Parameter |
|---|
T extends keyof SqliteClientEvents |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | 事件类型 |
listener | EventListener<SqliteClientEvents[T]> | 事件监听器函数 |
Returns
boolean
如果已添加监听器则返回true,否则返回false
Inherited from
EventDispatcher.hasEventListener
init()
init(dbName, options): Promise<void>;
Defined in: packages/rxdb-adapter-wa-sqlite/src/SqliteClient.ts:43
初始化数据库
Parameters
| Parameter | Type | Description |
|---|---|---|
dbName | string | 数据库名称(不含 .sqlite 扩展名) |
options | LoadModuleOptions | 加载选项 |
Returns
Promise<void>
removeAllEventListeners()
removeAllEventListeners(): void;
Defined in: packages/utils/dist/tools/event.d.ts:81
移除所有事件监听器
Returns
void
Inherited from
EventDispatcher.removeAllEventListeners
removeEventListener()
removeEventListener<T>(type, listener): void;
Defined in: packages/utils/dist/tools/event.d.ts:71
移除事件监听器
Type Parameters
| Type Parameter |
|---|
T extends keyof SqliteClientEvents |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | 事件类型 |
listener | EventListener<SqliteClientEvents[T]> | 事件监听器函数 |
Returns
void
Inherited from
EventDispatcher.removeEventListener
version()
version(): Promise<string>;
Defined in: packages/rxdb-adapter-wa-sqlite/src/SqliteClient.ts:59
获取 SQLite 版本号
Returns
Promise<string>
SQLite 版本字符串