随着百度小程序的风头正劲,越来越多的站长投入到百度小程序的开发中来,但是开发过程中难免会碰到诸多问题无法自己解决,08-02小编发现百度用户:【王牌牛牛】提出了一个关于“websocket中途偶现中断问题”的问题,在问题中开发者王牌牛牛对该问题做了如下阐述:
this.ws?=?new?Promise((resolve,?reject)?=>?{????????????????const?socketHandler?=?MiniProgramAPI.getAPI().connectSocket({????????????????????url:?addr,????????????????????success:?res?=>?{????????????????????????logger.warn(‘ProtoLink.connectSocket?success:?‘?+?res.socketTaskId);????????????????????},????????????????????fail:?err?=>?{????????????????????????reject(err);????????????????????????logger.warn(‘ProtoLink.connectSocket?fail’?+?JSON.stringify(err));????????????????????}????????????????});????????????????socketHandler.onOpen(res?=>?{????????????????????logger.log(‘ProtoLink.onopen’?+?JSON.stringify(res));?//res.header是undefined,没必要输出????????????????????this.connected?=?true;????????????????????if?(this.linkHandler)?{????????????????????????this.linkHandler.onopen();????????????????????}????????????????????resolve(socketHandler);????????????????});
});
send(data)?{
? ? ? this.ws.then(socketHandler => {????????????????????console.log(‘socketHandler’,?socketHandler);????????????????????socketHandler.send({????????????????????????data:?data.buffer,????????????????????????success:?res?=>?{????????????????????????????//?logger.warn(‘ProtoLink.send?wx?sendSocketMessage?success.?size=’?+?data.byteLength);????????????????????????},????????????????????????fail:?err?=>?{????????????????????????????logger.error(‘ProtoLink.send?sendSocketMessage?err=’?+?JSON.stringify(err));????????????????????????????//发送失败回调时,ProtoLink可能被析构?????????????????????????????//?if?(this?!=?null?&&?(typeof?this?!==?‘undefined’))?{????????????????????????????//?????this.connected?=?false;????????????????????????????//?????this.ws?=?null;????????????????????????????//?????if?(this.linkHandler)?{????????????????????????????//?????????this.linkHandler.onerror(err);????????????????????????????//?????????this.linkHandler?=?null;????????????????????????????//?????}????????????????????????????//?}????????????????????????}????????????????????});????????????????});
}
?
短时间内链接正常,中途就会出现“请先调用connect方法,且send方法需在onOpen方法内的回调中调用”的错误了
该图片引用百度小程序公众平台
注:以上是百度小程序开发者:”王牌牛牛”对于本问题的一些阐述,这里做一个引用,我们将实时关注百度小程序助手对该问题提出的解决方案。
【09-03】百度官方对用户王牌牛牛提出的websocket中途偶现中断问题给予如下回复
同上~
百度小程序依托百度庞大的用户搜索基础,根据用户的搜索习惯,以此来找到目标用户,更好的帮助企业直达客户,服务客户。当用户在搜索引擎上进行需求的搜索时,搜索引擎会记录下当前的搜索内容,并且会根据商家的信息来进行匹配,如果你的百度小程序名称出现在搜索结果中,那么你将面临更大的被访问和交流的可能。
如果您也在使用百度小程序,请关注我们,如果您有关于百度小程序的使用问题请联系我们,或者去百度小程序平台找官方人员给予解决,相信百度在小程序上的发力会是一个里程碑!