PS(废话):
这段时间都在研究网易的Pomelo框架,做为新手小白,天然遇到了很多坑爹的事情。(固然也有多是由于本身技术不过关的缘由因此致使在不少基础的问题上纠结了好久。)网上也搜索了很久,可是基本都是复制黏贴的教程,按照教程作确定没有问题,可是对于新手来讲个别细节上仍是有不少没法理解或者说新手容易犯错的地方。因而乎我就决定把本身遇到的问题写一下,若是可以帮助之后入坑的同行新手,也算是积了点阴德,避免你们少走弯路,或者说减小研究的时间。
好了废话很少说了,仍是抓紧开始正题吧。java
虽然Pomelo官方的文档已经对于如何在客户端中使用Pomelo有了比较详细的描述,对于一些大拿来讲确定看了文档就会了,可是奈何鄙人水平实在有限,因此对于CocosCreator这种没有在官方文档内的客户端,天然就不会了。因此就果断搜索了一下 “如何在CocosCreator中使用Pomelo” 。而后基本搜索到的就是利用聊天为例子的那篇文章了----->点击我进入文章
固然例子确定是没有问题的。可是我本身在使用的时候对于一些细节的问题又产生了疑惑。再加上手贱。。。。因此就有了更大的疑惑了。。。而后就纠结了很久。。git
根据官方的API,其实很简单一共也就4个方法,简单的不能再简单了。但每每就是这么简单的几个方法把我绕进去了。。。不得不感叹本身的智商愈来愈低了。
首先是pomelo.init(params,cb) 这个方法,老实说根据官方的文档,我是有点纠结的。由于他写的是“这一般是客户端的第一次调用”,再加上下载过来的代码是这样子的
程序员
虽然我知道init是初始化的做用,可是我在具体写代码的时候又特么做死了一下,在场景的onload方法中又加了一个request方法,以下图所示
结果就出错了,以后我又尝试了复制两个init方法,妥妥的成功了,而后就致使我在一瞬间怀疑每一次request请求都要放在Init方法里面。可是做为一名还算写过代码的渣渣程序员来讲,知道这个想法确定是错误的。其正确的顺序确定是init完了以后你爱去哪里request就去哪里request的。因而乎就纠结了很久。
最后问了群里的人才发现原来是由于我request方法也写在onload方法里面,因此就致使Init方法尚未调用成功,他就在那边request了,这样天然会出错了
(哎果真过久没写代码了就容易闹出这种低级错误=。=)github
客户端的方法中是包含如下几个参数的 route msg cb 而服务端则是 msg session next
首先是对应关系数组
客户端的msg对应的就是服务端中msg cb对应的就是服务端的next 而route着是服务端的路由, session则是不须要传递的,由于在init的时候已经建立了,在以后的调用中会自动传递。
其次就是参数内的内容了服务器
route参数就是一串string格式的路由,能够简单的理解为 “服务器.类名.方法名” msg内的参数我目前是用key-value的数组(其余格式我目前还没尝试之后有机会会进行尝试) cb和next内的参数进行对应。对于初学javascipt的人可能会有些难理解。可是问题不大。