自定义构造函数

自定义构造函数

发布时间:2018-04-17 15:55:58

微信小程序的socket连接

1.module
//连接socket
function connect(url){
  wx.connectSocket({
    url: url
  });
}
export var Socket = function(url) {
  this.events = {};//添加属性
  connect(url);//连接socket
  wx.onSocketMessage((res)=>{//=>避免this指向wx而不是Socket
	var data = null;
	try{
		data = JSON.parse(res.data);//将字符串转换为数组
	}catch(e){
	}
	if(data){
	    var event_name = data[0];//监听socket接收服务器返回的信息,获取事件名
	    if (this.events[event_name]) {//若事件名存在于events属性的对象中,则执行回调
	      this.events[event_name](res.data[1]);
	    }else{
	      throw new Error('该事件不存在!');
	    }
	}else{
		console.warn("Socket 响应内容为空!!!");
	}
  });
};
Socket.prototype={
  on:function(event_name,callback){//定义原型方法
    if (!this.events[event_name]){//如果不存在事件名,则在属性events里添加一个事件回调
      this.events[event_name] = callback;
    },
    send:function(data){//传送数据到socket服务器
	    wx.sendSocketMessage({
	      data: data,
	      success:res=>{
	        console.log(res,"socketSend");
	      }
	    });
	  },
	close:function(){//关闭socket
	    wx.closeSocket();
	}
  }
}
2.在js页面引入Socket
import { Socket } from '../../utils/socket.js';
3.调用Socket
 //创建socket连接
var socket = new Socket('连接地址');
//自定义socket中on函数的事件,实现当socket发送数据给客户端时客户端需要做的内容
socket.on("init", function(data) {
    console.log(data, 'init');
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值