dolphindb 2.0.947 → 2.0.948

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs.zh.json CHANGED
@@ -7093,6 +7093,13 @@
7093
7093
  "title": "例子",
7094
7094
  "type": "example",
7095
7095
  "children": [
7096
+ {
7097
+ "type": "text",
7098
+ "value": [
7099
+ "下例定义一个一元函数 f1,在传入 cachedTable 时,需要通过部分应用的方式将 f1 转为无参数函数,即为 cachedTable 的 *updateFunc* 参数传入 f1{t}。",
7100
+ ""
7101
+ ]
7102
+ },
7096
7103
  {
7097
7104
  "type": "code",
7098
7105
  "language": "console",
@@ -8829,7 +8836,7 @@
8829
8836
  {
8830
8837
  "type": "text",
8831
8838
  "value": [
8832
- "修改用户密码。该命令只能由管理员在控制节点/数据节点上执行。"
8839
+ "修改用户密码。"
8833
8840
  ]
8834
8841
  }
8835
8842
  ]
@@ -14564,7 +14571,7 @@
14564
14571
  "",
14565
14572
  "`leftTable` 表对象。可以不包含数据,但结构必须与订阅的流数据表相同。",
14566
14573
  "",
14567
- "`rightTable` 表对象,可以是内存表、流数据表或维度表。请注意,如果 *rightTable* 没有被订阅,必须设置 *checkTimes* 定时刷新数据。",
14574
+ "`rightTable` 表对象,可以是内存表、流数据表或维度表。请注意,如果 *rightTable* 没有被订阅,但 *rightTable* 会定期更新,则必须设置 *checkTimes* 来定时刷新右表数据。",
14568
14575
  "",
14569
14576
  "`outputTable` 必选参数,为计算结果的输出表。在使用 ``createLookupJoinEngine`` 函数之前,需要将输出表预先设立为一个空表,并指定各列列名以及数据类型。",
14570
14577
  "",
@@ -14593,7 +14600,7 @@
14593
14600
  "",
14594
14601
  "`rightTimeColumn` 是字符串标量,表示右表的时间列名称。若设置该参数,右表会根据指定的时间列的时间戳保留最新的数据(若有多行,则取其中最后一行)。若不指定该参数,则根据数据注入系统的时间保留最新数据。",
14595
14602
  "",
14596
- "`checkTimes` 是一个时间类型向量或 DURATION 的标量。设置后,系统会定时更新 *rightTable* 的数据集(只保留 *rightTable* 的最新数据)。",
14603
+ "`checkTimes` 是一个时间类型向量或 DURATION 的标量。设置后,系统会定时更新 *rightTable* 的数据(只保留 *rightTable* 的最新数据),并将更新后的数据追加到引擎中。当无需更新 *rightTable* 时,则不用设置该参数,但需要在引擎创建后,手动将 *rightTable* 注入到引擎中。",
14597
14604
  "",
14598
14605
  "* checkTimes 是时间类型向量时,只能为SECOND, TIME 或 NANOTIME 类型。 lookup join 引擎每天根据向量内各元素指定的时间定时更新右表。",
14599
14606
  "",
@@ -14829,6 +14836,8 @@
14829
14836
  {
14830
14837
  "type": "text",
14831
14838
  "value": [
14839
+ "参数 `sortColumns`, `keepDuplicates` 及 `sortKeyMappingFunction` 仅在 database 的 *engine* 参数指定为 TSDB 时才有效。",
14840
+ "",
14832
14841
  "`dbHandle` :doc:`../d/database` 函数返回的数据库句柄。它可以是本地磁盘数据库,也可以是分布式数据库。*dbHandle* 为空字符串或没有指定时,表示内存数据库的句柄。",
14833
14842
  "",
14834
14843
  "`table` 一个表或包含多个表的元组。系统将会根据该表的结构创建新的分区表。",
@@ -14870,15 +14879,16 @@
14870
14879
  ".. versionadded:: 2.00.6",
14871
14880
  " 参数 *sortKeyMappingFunction*",
14872
14881
  "",
14873
- "在 TSDB 引擎单个分区 sort key 组合数过多,但每个 sort key 组合值对应的记录数较少的场景下,建议配置 *sortKeyMappingFunction* 参数以对 sort key 组合数进行降维。降维后单个 TSDB levelFile 内的数据块可以存储更多的数据,查询时既减少了读数据块的次数(降低了 I/O 开销),又提升了数据的压缩率 。",
14882
+ "在 TSDB 引擎单个分区 sort key 组合数过多,但每个 sort key 组合值对应的记录数较少的场景下,建议配置 *sortKeyMappingFunction* 参数以对 sort key 组合数进行降维。降维后单个 TSDB levelFile 内的数据块可以存储更多的数据,查询时既减少了读数据块的次数(降低了 I/O 开销),又提升了数据的压缩率。",
14874
14883
  "",
14875
- "`sortKeyMappingFunction` 由函数对象组成的向量,其长度与索引列一致,即 sortColumns 的长度 - 1。用于指定应用在索引列中各列的映射函数,以减少 sort key 的组合数,该过程称为 sort key 降维。注意,指定的函数必须为一元函数。",
14884
+ "`sortKeyMappingFunction` 由一元函数对象组成的向量,其长度与索引列一致,即 sortColumns 的长度 - 1,若只指定一个映射函数 mapfunc,必须写为 sortKeyMappingFunction=[mapfunc]。用于指定应用在索引列中各列的映射函数,以减少 sort key 的组合数,该过程称为 sort key 降维。",
14876
14885
  "",
14877
- "索引列的每列被映射函数降维后,原本的多个 sort key 组合值会被重新映射到一个新的 sort key 组合值上。而每个新 sort key 组合值对应的数据仍将根据 *sortColumns* 的最后一列(时间列)进行排序。注意,降维在写入磁盘时进行,因此指定该参数一定程度上将影响写入性能。",
14886
+ "索引列中的各列被对应的映射函数降维后,原本的多个 sort key 组合值会被重新映射到一个新的 sort key 组合值上。而每个新 sort key 组合值对应的数据仍将根据 *sortColumns* 的最后一列(时间列)进行排序。降维在写入磁盘时进行,因此指定该参数一定程度上将影响写入性能。",
14878
14887
  "",
14879
- "注意:*sortKeyMappingFunction* 只能指定向量。例如,若只指定一个映射函数 mapfun,则指定方式为 sortKeyMappingFunction=[mapfunc]。",
14888
+ "使用 `sortKeyMappingFunction` 时需要注意以下几点:",
14880
14889
  "",
14881
- "注:参数 `sortColumns`, `keepDuplicates` 及 `sortKeyMappingFunction` 仅在 database 的 *engine* 参数指定为 TSDB 时才有效。"
14890
+ "* `sortKeyMappingFunction` 指定的函数对象与索引列中的各列一一对应,若其中某列无需降维,则函数对象置为空。",
14891
+ "* 当 `sortKeyMappingFunction` 中的函数对象为 hashBucket,且降维的列为采用 Hash 分区的分区字段时,Hash 分区的数量不能被 hashBucket 中的 buckets 整除,否则同一分区内的 Hash 得到的 key 都相同。"
14882
14892
  ]
14883
14893
  }
14884
14894
  ]
@@ -15184,7 +15194,7 @@
15184
15194
  "* 行计算函数: :doc:`../r/rowMin`, :doc:`../r/rowMax`, :doc:`../r/rowAnd`, :doc:`../r/rowOr`, :doc:`../r/rowXor`, :doc:`../r/rowProd`, :doc:`../r/rowSum`, :doc:`../r/rowSum2`, :doc:`../r/rowSize`, :doc:`../r/rowCount`, :doc:`../r/rowAvg`, :doc:`../r/rowKurtosis`, :doc:`../r/rowSkew`, :doc:`../r/rowVar`, :doc:`../r/rowVarp`, :doc:`../r/rowStd`, :doc:`../r/rowStdp`",
15185
15195
  "* 序列相关函数::doc:`../d/deltas`, :doc:`../r/ratios`, :doc:`../f/ffill`, :doc:`../m/move`, :doc:`../p/prev`, :doc:`../i/iterate`, :doc:`../e/ewmMean`, :doc:`../e/ewmVar`, :doc:`../e/ewmStd`, :doc:`../e/ewmCov`, :doc:`../e/ewmCorr`, :doc:`../p/prevState`",
15186
15196
  "* topN相关函数::doc:`../m/msumTopN`, :doc:`../m/mavgTopN`, :doc:`../m/mstdpTopN`, :doc:`../m/mstdTopN`, :doc:`../m/mvarpTopN`, :doc:`../m/mvarTopN`, :doc:`../m/mcorrTopN`, :doc:`../m/mbetaTopN`, :doc:`../m/mcovarTopN`, :doc:`../m/mwsumTopN`",
15187
- "* 高阶函数::doc:`/Functionalprogramming/TemplateFunctions/segmentby` (参数 *func* 暂支持 cumsum, cummax, cummin, cumcount, cumavg, cumstd, cumvar, cumstdp, cumvarp), :doc:`/Functionalprogramming/TemplateFunctions/moving`, :doc:`/Functionalprogramming/TemplateFunctions/byColumn`, :doc:`/Functionalprogramming/TemplateFunctions/accumulate`",
15197
+ "* 高阶函数::doc:`/Functionalprogramming/TemplateFunctions/segmentby` (参数 *func* 暂支持 cumsum, cummax, cummin, cumcount, cumavg, cumstd, cumvar, cumstdp, cumvarp), :doc:`/Functionalprogramming/TemplateFunctions/moving`, :doc:`/Functionalprogramming/TemplateFunctions/byColumn`, :doc:`/Functionalprogramming/TemplateFunctions/accumulate`, :doc:`/Functionalprogramming/TemplateFunctions/window`",
15188
15198
  "* 其他函数::doc:`../t/talibNull`, :doc:`../d/dynamicGroupCumsum`, :doc:`../d/dynamicGroupCumcount`, :doc:`../t/topRange`, :doc:`../l/lowRange`, :doc:`../t/trueRange`",
15189
15199
  "* 特殊函数(仅支持在引擎内使用)::doc:`../s/stateIterate`, :doc:`../c/conditionalIterate`, :doc:`../s/stateMavg`, :doc:`../g/genericStateIterate`, :doc:`../g/genericTStateIterate`",
15190
15200
  "",
@@ -16647,7 +16657,8 @@
16647
16657
  "即若右表中最新到来的数据时间戳 - 未计算的分组数据窗口的右边界 > maxDelayedTime,则这条数据会触发满足条件的分组数据窗口计算输出。",
16648
16658
  "请注意,指定该参数时,必须同时指定 timeColumn,且单位需和 timeColumn 精度一致。",
16649
16659
  "",
16650
- "`nullFill` 和输出表列字段等长且类型一一对应的元组,用于填充输出表中的空值。"
16660
+ "`nullFill` 和输出表列字段等长且类型一一对应的元组,用于填充以下列中的空值:输出表中包含的左表列、右表列、右表列被聚合计算后的计算结果列。",
16661
+ "其中,右表列被填充范围仅限于某些不存在右表数据的窗口中;若窗口中包含了右表数据,但其值为 NULL,则不会被填充。"
16651
16662
  ]
16652
16663
  }
16653
16664
  ]
@@ -19536,7 +19547,6 @@
19536
19547
  "",
19537
19548
  ".. code-block:: console",
19538
19549
  " :linenos:",
19539
- " :emphasize-lines: 10, 12",
19540
19550
  " ",
19541
19551
  " $ n = 1000000",
19542
19552
  " $ nano=(09:30:00.000000000 + rand(long(6.5*60*60*1000000000), n)).sort!() ",
@@ -32432,8 +32442,8 @@
32432
32442
  "* lastMinuteNetworkSend:前一分钟网络发送字节数(单位:字节)。",
32433
32443
  "* lastMinuteNetworkRecv:前一分钟网络接收字节数 (单位:字节)。",
32434
32444
  "* publicName:若为控制节点,且配置了 publicName,则显示 publicName;否则显示控制节点所在服务器的 网卡地址。若为数据节点或代理节点,则显示数据节点或代理节点所在服务器的网卡地址。",
32435
- "* lastMsgLatency:流数据订阅节点最后收到的消息的延时(单位:毫秒)。",
32436
- "* cumMsgLatency:流数据订阅节点所有已接收的消息的平均延时(单位:毫秒)。",
32445
+ "* lastMsgLatency:流数据订阅节点最后收到的消息的延时(单位:纳秒)。",
32446
+ "* cumMsgLatency:流数据订阅节点所有已接收的消息的平均延时(单位:纳秒)。",
32437
32447
  "* isLeader:是否是 raft 组的 leader,该字段仅在配置了控制节点高可用时才生效。请注意,若 raft 组存在宕机的节点,则该节点的 isLeader 将返回空值。",
32438
32448
  ""
32439
32449
  ]
@@ -35332,9 +35342,7 @@
35332
35342
  {
35333
35343
  "type": "text",
35334
35344
  "value": [
35335
- "以字典的形式返回本地节点上的多个性能监控度量值。",
35336
- "",
35337
- "返回一个表对象,包含以下几列:",
35345
+ "以字典的形式返回本地节点上的多个性能监控度量值。包含以下 key:",
35338
35346
  "",
35339
35347
  "* runningJobs:正在执行中的 Job 个数。",
35340
35348
  "* jobLoad:作业负载。",
@@ -35344,13 +35352,13 @@
35344
35352
  "* lastMinuteNetworkRecv:前一分钟网络接收字节数 (单位:字节)。",
35345
35353
  "* lastMinuteReadVolume:前一分钟读磁盘容量(单位:字节)。",
35346
35354
  "* lastMinuteWriteVolume:前一分钟写磁盘容量(单位:字节)。",
35347
- "* lastMsgLatency:前一批消息的延时(单位:毫秒)。",
35348
- "* cumMsgLatency:所有消息的平均延时(单位:毫秒)。",
35349
- "* maxLast10QueryTime:前 10 个完成的查询执行所耗费时间的最大值(单位:毫秒)。",
35350
- "* maxLast100QueryTime:前100个完成的查询执行所耗费时间的最大值(单位:毫秒)。",
35351
- "* medLast10QueryTime:前 10 个完成的查询执行所耗费时间的中间值(单位:毫秒)。",
35352
- "* medLast100QueryTime:前 100 个完成的查询执行所耗费时间的中间值(单位:毫秒)。",
35353
- "* maxRunningQueryTime:当前正在执行的查询的耗费时间的最大值(单位:毫秒)。",
35355
+ "* lastMsgLatency:前一批消息的延时(单位:纳秒)。",
35356
+ "* cumMsgLatency:所有消息的平均延时(单位:纳秒)。",
35357
+ "* maxLast10QueryTime:前 10 个完成的查询执行所耗费时间的最大值(单位:纳秒)。",
35358
+ "* maxLast100QueryTime:前100个完成的查询执行所耗费时间的最大值(单位:纳秒)。",
35359
+ "* medLast10QueryTime:前 10 个完成的查询执行所耗费时间的中间值(单位:纳秒)。",
35360
+ "* medLast100QueryTime:前 100 个完成的查询执行所耗费时间的中间值(单位:纳秒)。",
35361
+ "* maxRunningQueryTime:当前正在执行的查询的耗费时间的最大值(单位:纳秒)。",
35354
35362
  "* diskFreeSpaceRatio:磁盘可用空间占比。",
35355
35363
  "* diskReadRate:磁盘读速率(单位:字节/秒)。",
35356
35364
  "* diskWriteRate:磁盘写速率 (单位:字节/秒)。",
@@ -35361,6 +35369,7 @@
35361
35369
  "* memoryUsed:节点的内存占用量(单位:字节)。",
35362
35370
  "* networkSendRate:网络发送速率(单位:字节/秒)。",
35363
35371
  "* networkRecvRate:网络接收速率(单位:字节/秒)。",
35372
+ "* connectionNum:连接到本地节点的连接数。",
35364
35373
  ""
35365
35374
  ]
35366
35375
  }
@@ -35377,31 +35386,32 @@
35377
35386
  " ",
35378
35387
  " $ getPerf();",
35379
35388
  "",
35380
- " lastMinuteWriteVolume->684",
35381
- " runningJobs->0",
35382
- " lastMsgLatency->0",
35383
- " maxLast100QueryTime->0",
35384
- " avgLoad->0.0040625",
35389
+ " cumMsgLatency->-9.223372036854776E18",
35390
+ " lastMsgLatency->-9.223372036854776E18",
35391
+ " lastMinuteNetworkRecv->2184101",
35392
+ " maxLast10QueryTime->224829",
35393
+ " lastMinuteNetworkSend->378283",
35385
35394
  " diskWriteRate->144",
35386
- " lastMinuteNetworkSend->228528",
35387
- " queuedJobs->0",
35388
- " lastMinuteNetworkRecv->525533",
35389
- " maxLast10QueryTime->0",
35390
- " medLast100QueryTime->0",
35391
- " maxRunningQueryTime->0",
35392
- " diskReadRate->2663",
35393
- " cumMsgLatency->0",
35394
- " medLast10QueryTime->0",
35395
- " diskFreeSpaceRatio->0",
35396
- " cpuUsage->0.306748466257669",
35397
- " memoryUsed->29053456",
35395
+ " networkSendRate->3924",
35396
+ " medLast100QueryTime->131965",
35397
+ " avgLoad->1.0228125",
35398
+ " runningJobs->0",
35399
+ " connectionNum->2",
35400
+ " medLast10QueryTime->131965",
35401
+ " cpuUsage->0",
35402
+ " diskFreeSpaceRatio->0.041250206237365",
35398
35403
  " jobLoad->0",
35399
- " networkSendRate->4460",
35400
- " memoryAlloc->35463168",
35401
- " lastMinuteReadVolume->159940",
35402
- " networkRecvRate->8950",
35403
- " diskCapacity->0",
35404
- " diskFreeSpace->0"
35404
+ " memoryUsed->7970304",
35405
+ " memoryAlloc->19513344",
35406
+ " maxLast100QueryTime->224829",
35407
+ " networkRecvRate->32238",
35408
+ " maxRunningQueryTime->0",
35409
+ " diskCapacity->1.859747577856E12",
35410
+ " queuedJobs->0",
35411
+ " diskFreeSpace->7.6714971136E10",
35412
+ " diskReadRate->6538",
35413
+ " lastMinuteWriteVolume->1515",
35414
+ " lastMinuteReadVolume->392408"
35405
35415
  ]
35406
35416
  }
35407
35417
  ]
@@ -50711,7 +50721,7 @@
50711
50721
  "value": [
50712
50722
  "",
50713
50723
  " $ db = database(directory=\"dfs://rangedb\", partitionType=RANGE, partitionScheme=0 51 101, engine='TSDB')",
50714
- " $ pt=loadTextEx(dbHandle=db, tableName=`pt, partitionColumns=`ID, filename=\"/home/DolphinDB/Data/t.txt\", sortColumns=`date);"
50724
+ " $ pt=loadTextEx(dbHandle=db, tableName=`pt, partitionColumns=`ID, filename=\"/home/DolphinDB/Data/t.txt\", sortColumns=`ID`date);"
50715
50725
  ]
50716
50726
  }
50717
50727
  ]
@@ -53204,7 +53214,7 @@
53204
53214
  {
53205
53215
  "type": "text",
53206
53216
  "value": [
53207
- "对于输入的多个 *args*,将它们的值组合为一个 BLOB 标量或向量。返回的结果可用作字典或集合的 key。相较于 makeOrderedKey,makeKey 不会会保存组合值的排序结果。"
53217
+ "对于输入的多个 *args*,将它们的值组合为一个 BLOB 标量或向量。返回的结果可用作字典或集合的 key。相较于 makeOrderedKey,makeKey 不会保存组合值的排序结果。"
53208
53218
  ]
53209
53219
  }
53210
53220
  ]
@@ -92050,7 +92060,7 @@
92050
92060
  "value": [
92051
92061
  "",
92052
92062
  " $ date=[2023.01.01, 2023.01.02, 2023.01.03, 2023.01.04]",
92053
- " $ temporalAdd(index,2,`CFFEX)",
92063
+ " $ temporalAdd(date,2,`CFFEX)",
92054
92064
  " [2023.01.04,2023.01.04,2023.01.05,2023.01.06]",
92055
92065
  ""
92056
92066
  ]
@@ -93907,7 +93917,7 @@
93907
93917
  "2021.01.02 ",
93908
93918
  "2021.01.02 4 4",
93909
93919
  "2021.01.04 4",
93910
- "2021.01.05 -1 -2 ",
93920
+ "2021.01.05 -1 -1 ",
93911
93921
  "2021.01.07 2 2",
93912
93922
  "2021.01.08 4 4",
93913
93923
  "========== ===== =======",
@@ -98892,7 +98902,7 @@
98892
98902
  " * 授权的节点个数(maxNodes),内存大小(maxMemoryPerNode),CPU 核数(maxCoresPerNode)不小于原 license 的授权。",
98893
98903
  "",
98894
98904
  "* 若原 license 授权模式(authorization)为 trial 和 site,则无法进行在线升级。",
98895
- "* 从 1.30.21/2.00.9 版本开始,支持将 DolphinDB 进程绑定到具体的 CPU 内核上。若待升级 license 中修改了绑定核信息,则升级 license 后须重启 DolphinDB 以使 CPU 内核绑定的设置生效。",
98905
+ "* 从 2.00.9 版本开始,支持将 DolphinDB 进程绑定到具体的 CPU 内核上。若待升级 license 中修改了绑定核信息,则升级 license 后须重启 DolphinDB 以使 CPU 内核绑定的设置生效。",
98896
98906
  "",
98897
98907
  ""
98898
98908
  ]
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import type { InspectOptions as UtilInspectOptions } from 'util';
3
- import { inspect, WebSocket, type WebSocketConnectionError } from 'xshell';
3
+ import { inspect, WebSocket, Lock, type WebSocketConnectionError } from 'xshell';
4
4
  export declare enum DdbForm {
5
5
  scalar = 0,
6
6
  vector = 1,
@@ -461,6 +461,7 @@ export interface DdbRpcOptions {
461
461
  urgent?: boolean;
462
462
  listener?: DdbMessageListener;
463
463
  parse_object?: boolean;
464
+ skip_connection_check?: boolean;
464
465
  }
465
466
  export declare class DdbConnectionError extends Error {
466
467
  name: string;
@@ -485,7 +486,8 @@ export declare class DDB {
485
486
  e.g. `ws://127.0.0.1:8848/`, `wss://dolphindb.com`
486
487
  */
487
488
  url: string;
488
- websocket: WebSocket;
489
+ /** 为所有 websocket 操作加锁,包括设置 this.on_message, this.on_error, websocket.send */
490
+ lwebsocket: Lock<WebSocket>;
489
491
  /** little endian (server) */
490
492
  le: boolean;
491
493
  /** little endian (client) */
@@ -514,12 +516,12 @@ export declare class DDB {
514
516
  error: DdbConnectionError;
515
517
  /** DdbMessage listeners */
516
518
  listeners: DdbMessageListener[];
517
- /** 为所有 websocket 操作加锁,包括设置 this.on_message, this.on_error, websocket.send */
518
- pwebsocket: import("xshell").Deferred<void>;
519
- /** 为定义 pnode_run 函数加锁,避免重复定义 */
520
- ppnode_run: import("xshell").Deferred<void>;
519
+ /** 首次 connect 连接的 promise, 后面的 connect 调用都返回这个 */
520
+ pconnect: Promise<void>;
521
+ /** 首次定义 pnode_run 的 promise,保证并发调用 rpc 时只定义一次 pnode_run */
522
+ ppnode_run: Promise<DdbVoid>;
521
523
  get connected(): boolean;
522
- get errored(): boolean | DdbConnectionError;
524
+ get errored(): boolean;
523
525
  /**
524
526
  使用 WebSocket URL 初始化连接到 DolphinDB 的实例(不建立实际的网络连接)
525
527
  Initialize an instance of DolphinDB Client using the WebSocket URL (without establishing an actual network connection)
@@ -602,7 +604,9 @@ export declare class DDB {
602
604
  - vars?: type === 'variable' 时必传,variable 指令中待上传的变量名
603
605
  - listener?: 处理本次 rpc 期间的消息 (DdbMessage)
604
606
  - parse_object?: 在本次 rpc 期间设置 parse_object, 结束后恢复原有
605
- 为 false 时返回的 DdbObj 仅含有 buffer 和 le,不做解析,以便后续转发、序列化 */
607
+ 为 false 时返回的 DdbObj 仅含有 buffer 和 le,不做解析,以便后续转发、序列化
608
+ - skip_connection_check?: 在首次 await ddb.connect() 建立连接时不能再次调用 await this.connect() 确保连接状态,会导致循环依赖,
609
+ 将这个 flag 设为 true 跳过连接状态检查 */
606
610
  rpc<TResult extends DdbObj = DdbObj>(type: DdbRpcType, options: DdbRpcOptions): Promise<TResult>;
607
611
  /** eval script through websocket (script command)
608
612
  - script?: 执行的脚本 Script to execute
@@ -643,8 +647,11 @@ export declare class DDB {
643
647
  Set parse_object during this rpc, and restore the original after the end.
644
648
  When it is false, the returned DdbObj only contains buffer and le without parsing,
645
649
  so as to facilitate subsequent forwarding and serialization
646
- */
647
- call<TResult extends DdbObj>(func: string, args?: (DdbObj | string | boolean)[], { urgent, node, nodes, func_type, add_node_alias, listener, parse_object, }?: {
650
+ - skip_connection_check?: (内部使用) 在首次 await ddb.connect() 建立连接时不能再次调用 await this.connect() 确保连接状态,会导致循环依赖,
651
+ 将这个 flag 设为 true 跳过连接状态检查
652
+ (internal use) When await ddb.connect() establishes a connection for the first time, you cannot call await this.connect() again to ensure the connection status, which will lead to circular dependencies.
653
+ Set this flag to true to skip connection status checks */
654
+ call<TResult extends DdbObj>(func: string, args?: (DdbObj | string | boolean)[], { urgent, node, nodes, func_type, add_node_alias, listener, parse_object, skip_connection_check }?: {
648
655
  urgent?: boolean;
649
656
  node?: string;
650
657
  nodes?: string[];
@@ -652,6 +659,7 @@ export declare class DDB {
652
659
  add_node_alias?: boolean;
653
660
  listener?: DdbMessageListener;
654
661
  parse_object?: boolean;
662
+ skip_connection_check?: boolean;
655
663
  }): Promise<TResult>;
656
664
  /** upload variable through websocket (variable command) */
657
665
  upload(