# Function: connect

connect(initData: ConnectParams): Promise‹boolean›

连接帧同步服务

description 若连接成功,会返回true。若长时间未返回结果,可使用disconnect取消连接。 建议配合onError使用,监听到特定类型的错误

example

// 需要先通过匹配系统完成匹配,获取连接需要的token
import { matchSystem, frameSyncSystem } from "@timi/mogs-sdk";

let lockStepTokenInfo
// 先使用匹配系统进行匹配(略)
// 收到匹配确认的事件后
matchSystem.onMatchConfirmed(async (res) => {
if(!res.confirmPlayer && !res.isOvertime && res.lockStepTokenInfo) {
//  res.lockStepTokenInfo即包含了连接帧同步需要的信息
    lockStepTokenInfo = res.lockStepTokenInfo
}
// 错误监听
  frameSyncSystem.onError((e) => {
    if (e.errorCode === frameSyncSystem.ErrorCode.cannotReconnect) {
      console.log("报错,无法连接,放弃连接-------");
      frameSyncSystem.disconnect()
      // 尝试下一个房间的匹配
    }
    if (e.errorCode === frameSyncSystem.ErrorCode.invalidRoomState) {
      console.log("房间状态已结束---------放弃连接");
      frameSyncSystem.disconnect()
      // 尝试下一个房间的匹配
   }
  })

// 连接帧同步
const res = await frameSyncSystem.connect({
   token: lockStepTokenInfo.token,
   userId: lockStepTokenInfo.userId,
   isReconnect: false,// 是否重连(非销毁,该选项仅适用于本次代码运行期间的重连本局的游戏,若关掉小程序后让帧同步系统重新运行,再次调用connect进入上一局游戏,该选项为false)
   isJoinLastRoom: false, // 默认为false,若杀掉小程序后,重新进入上一次游玩的游戏,该选项为true,
});

if (res) {
  // 连接帧同步服务成功
} else {
  // 连接帧同步服务失败
}

})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

# 参数:

属性 类型 描述
initData ConnectParams 帧同步参数和回调函数

ConnectParams

属性 类型 描述
config? Config -
isJoinLastRoom? boolean -
isReconnect? boolean -
logConfig? object -
token string -
userId? number | string -

# 返回值:

Promise‹boolean›

是否成功