接触小程序以来一直都是使用的typeof回调方式进行异步操作。但是随着接触的深入发现该回调方式虽然完全可以实现相关操作但是可读性和可维护性并不是很高。然后就研究了一下ES6-Promise。听说微信小程序支持过一段时间又移除掉了,但是我在小程序中还是依然可以使用不知道什么原因。
首先说一下我的目录结构:
首先我把wx.request在http.js中封装好了
然后又在fm_networking.js中做一层嵌套
当我在外面调用的时候发现总是走了resolve然后接着就走了reject。这是作为新手来说很奇怪的现象。然后我从根源找发现http.js中只走了resolve。那么一定是fm_networking.js中的问题咯?但是fm_networking.js中也是只走了resolve。奇怪!在同一个方法中我复制了之前写过的typeof代码发现还是很成功的,外部只走了resolve。百思不得其姐。甚至我一度认为这样是嵌套不行的。
然后我排查问题的时候发现我注释了我set数据的某行代码就没问题了。
突然想起来之前看过的一篇博客王汉炎的博客中写到:
promise这么搞在reject中error提示都没有啊。
搞死人啊。