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的人可能會有些難理解。可是問題不大。