20171025

大概是昨天吃麦当劳时饮料选了茶,晚上怎么都睡不着。最后两点过了才睡。早上起来感觉倒还好,过完早跑路去公司,ssr服务器一开始还连得上,后来又断了。因为换了个位置,之前ipad一直靠着小主机放的现在不太好放了所以顺手买了个保护套,选了半天才看到一个带笔套的,虽然我的apple pencil吃灰好久了。之后继续修bug。有个搜索疾病有时候进疾病主页有时候进搜索结果页的bug,一瞅源码,原来会调两个后台接口。虽然调用是顺序的,但响应是异步的所以无法保证顺序,所以最后跳往哪里要看哪个接口后响应。问题倒是很简单,但改起来稍微有点麻烦。浏览器js是单线程的?那不是直接设置一个bool变量就可以了吗?连锁都不用加。然而并不行,虽然说不清为什么。只有第一个返回之后再根据结果去调第二个?感觉还是让它们并发地调比较好吧。那就只能用promise之类的了。这个我不熟,查了半天api什么的总算弄出来一个感觉能处理得比较优雅的写法了。首先这两个接口调用和后续的处理都是类似的,所以我先写个方法把它们转换成定制的promise,然后用$q.all去调它们。这个方法会等所有的promise都返回之后把结果写进一个数组里,然后遍历这个数组进行相应的处理就好了。理论上更好的办法是一个接口有了想要的结果之后就可以直接忽略(甚至是取消)另一个调用,不过实现起来似乎有点麻烦就算了。继续看看nodejs什么的,到了五点点个牛肉番茄饭,美滋滋。吃晚饭写写博客草稿,回来打游戏。好困啊。

评论

热门博文