const header = 0xAA; //链路层协议报文头标识 var ntr = 20; //必须应答的最大报文个数 最大39 var send_ntr = 0; //已经发送的 ntr数 var rto = 200; //应答超时时间 var mcp = 20; //可连续发生的ntr个数 最大20 var receiver_ntr_count = 0; //连续收到的报文个数 var receiverBlueEmsData = [] //接收到的蓝牙报文队列 var receiverEmsData = [] //接收到的报文队列 var receiverCurrentPackLenght = 0; //已接收报文的长度 var receiver_cmd = 0; //接收到的命令号 var send_array = []; //待发送数据报文 var rto_send_package = 0; //rto 定时发送数量 var linkTimer; const app = getApp(); const defaultByteLength = 16; const packeByteLength = 20; var todo_send_blue_data = [] //数据发送队列 var _applicationWatch; //应用层监听器 var lastSendData = [] //上次发送数据的缓存 var lastSendResult = true; //上次是否发送成功 //链路层自定的code值
时间: 2023-11-18 10:02:18 浏览: 155
请帮我封装这些代码,参考以下示例:
```javascript
class Connection {
constructor() {
this.header = 0xAA; //链路层协议报文头标识
this.ntr = 20; //必须应答的最大报文个数 最大39
this.send_ntr = 0; //已经发送的 ntr数
this.rto = 200; //应答超时时间
this.mcp = 20; //可连续发生的ntr个数 最大20
this.receiver_ntr_count = 0; //连续收到的报文个数
this.receiverBlueEmsData = []; //接收到的蓝牙报文队列
this.receiverEmsData = []; //接收到的报文队列
this.receiverCurrentPackLenght = 0; //已接收报文的长度
this.receiver_cmd = 0; //接收到的命令号
this.send_array = []; //待发送数据报文
this.rto_send_package = 0; //rto 定时发送数量
this.linkTimer = null;
this.app = getApp();
this.defaultByteLength = 16;
this.packeByteLength = 20;
this.todo_send_blue_data = []; //数据发送队列
this._applicationWatch = null; //应用层监听器
this.lastSendData = []; //上次发送数据的缓存
this.lastSendResult = true; //上次是否发送成功
}
// 链路层自定义的code值
static CODES = {
OK: 0,
ERROR: 1,
TIMEOUT: 2
};
}
// 创建连接实例
const connection = new Connection();
```
通过使用类来封装代码,将变量作为类的属性,可以更好地组织和管理这些变量。在类的构造函数中进行初始化,并提供了一个静态的`CODES`属性,用于存储链路层自定义的code值。最后,通过实例化连接类`Connection`,可以创建一个连接对象`connection`,并访问其中的属性和方法。
阅读全文