美文网首页
小程序的简单踩坑

小程序的简单踩坑

作者: 赤红de西撒 | 来源:发表于2020-04-18 23:43 被阅读0次

先说明,我是个社会闲散人员,最近在做个微信小程序,主要就是给学妹做毕设。我校的毕设要求很低,大家见笑了。今天遇到个很大的坑,最后也是用了实际开发中万一被项目老大看到有可能被暴打的方式解决了问题。

需求是从后台拿一个openid,然后查数据表有没有记录,如果没有记录的话就新增记录。这些都是云函数开发,这是三次请求。这个需求其实很简单,问题在于我需要这三个操作顺序执行,在第二步查数据表的记录的回调方法里面,往数据表新增记录的代码总是出问题,感觉是没有执行。于是开始着手解决这个问题。

推测:网络请求的回调函数里面不能再发请求

这个推测其实很傻逼,打断点追查了一下就发现不是这个问题。回调里面可以再发请求(我个人的猜测是数据库的回调方法里面不能再进行数据库的操作。)

额外问题:嵌套地狱

当我发现虽然没跑通代码,但是可读性已经很差,并且连发三次请求确实嵌套太多(每次请求都写在上一个请求的回调方法里)于是学习了一些promise风格代码。正好改了一下我的代码试试,呵呵,果然一样没成功。但是我并不气馁,起码学到了知识。操tm的

推测:可以通过修改云函数实现

其实第一步就是从后台拿openid,这是个云函数。如果云函数里面可以获取openid同时把数据库的查询结果一起返回(最好还能把插入操作也给解决咯),那这个问题或许可以解决掉。然后去官方文档学了一下语法,失败。主要是觉得水个毕设而已,又不是专门搞小程序的,这么费力调试云函数不值得。应该再找个更简单的方式。

推测:监视变量来让这些请求变成顺序执行的

其实这个想法很简单,设置一两个变量做标记。比如设置俩变量:run_step2(可执行第二步),run_step3(可执行第三步),都是布尔类型。然后监视俩变量。第一步的回调里面把step2设置成true,第二步的回调里面把step3设置成true。然后监视到这俩变量都是true的时候执行第三步。想法就是这样。但是我遇到了别的问题……

1.照着官方文档的写法没监听成功。我还去查了一下,为什么官网的demo是component而小程序开始都是page,page和component一起写还报错。还有人给我说单独写component再引入进来。我觉得不是这个问题。还有人说page和component一样用,虽然我没在查具体啥区别,但是监听的代码写在page里面也没成功。

2.然后我想着有没有简单的方式实现原生js的监听。然后百度上给了我一堆vuejs里面watch的用法…淦。后来找到了一个原生js实现watcher的博客,我看了一下,略显复杂,我这个没学过js没搞过前端的人理解起来略显费劲。主要是也不知道在小程序里效果咋样……我就给人水个毕设,为什么要这么为难我。

最终:我选择了不停获取变量的值

其实还是和监听的原理一样,只是监听代码没写出来,于是有了这种想法。我发现js里面的interval和timeout用起来真tmd方便,这肯定是为了处理我这种情况。欺骗自己ing,改bug主要是控制变量法。

简单粗暴

现在再看看这段代码,真是被自己秀到了,为了水毕设人真是什么代码都写得出来。

这个status其实就代替了我刚才说的step1和step2了,多写了几个状态。我感觉自己对这种开发真的爱不起来,给别人水完毕设就告别小程序了。困死我了,头疼,晚安。

相关文章

  • 小程序的简单踩坑

    先说明,我是个社会闲散人员,最近在做个微信小程序,主要就是给学妹做毕设。我校的毕设要求很低,大家见笑了。今天遇到个...

  • scroll-into-view无效的问题

    刚开始写微信小程序。简单记录一下踩的坑。scroll-view使用时怎么都无法跳转,最后解决。简单总结下坑。scr...

  • <手助总结>了解一下

    这个月给手机卫士写了个功能及其简单的小程序,但就这么个及其简单的小程序,也是踩了一堆坑~ 开发流程 其实按照官网的...

  • 小程序资源

    小程序webview踩坑小程序图片转二进制微信基础库对应关系

  • 小程序踩坑

    1.不能在wxss文件background属性中引用本地图片文件2.text标签类似span这种行内标签,不能设置...

  • 小程序踩坑

    开发者开发不同账号的小程序。填写appID,微信根据不同的appID判断该小程序属于哪个账号。 修改数据后不自动渲...

  • 小程序踩坑

    wss图片获取:image.png 2.page.json设置:每一个小程序页面也可以使用.json文件来对本页面...

  • 小程序踩坑

    主要内容 记录小程序开发中碰到的问题以及解决方案 CSS部分 解决小程序按钮border无法清除问题 小程序按钮 ...

  • 我的前端笔记

    目录 react 小程序 vue typescript 经验(踩坑) react useMemo 和 useCal...

  • 【教程】微信小程序入门

    微信小程序入门基础知识 Moustache:我的微信小程序入门踩坑之旅 github精选:微信小程序入门简要教程 ...

网友评论

      本文标题:小程序的简单踩坑

      本文链接:https://www.haomeiwen.com/subject/ysozvhtx.html