概述
说一下我这边遇到的背景,主要记录一下遇到的坑和感受;在初学Uni-app过程中很自然的会遇到Promise挂载的问题,我们也会找很多视频跟着学跟着写,发现老师们的挂在是有效的,而我们的挂载就是不起作用,不论你写多多少console.log还是判断不出来问题在哪里,甚至有些现象是反你现有认知的;这里勇敢的记录,不怕献丑;好,话不多找直接少代码说过程;
问题及处理过程
Util文件目录下新建的api.js,用于收纳请求(这里测试用的公网接口),代码如下:
然后在main.js中申明一下请求:
在async方法中调用,页面中申明调用:
逻辑、思路、代码都很简单,但是在success方法走不到,resovle方法不起作用;对着老师视频敲打了好几遍,没有发现问题,由于是业余学习,当天凌晨前也就回去了;
第二天一早九点,老司机一到就带着代码过去了,通过console大法,结合请求返回值的分析,没有超过三步到位了;原来是因为res.data.status!==1的判断有问题,!== 用来较为严格的比较,除判断数据是否不相等 ,还会判断两者数据类型是否相同,如不相同也不会转换数据类型,返回(false);
返回值中的1是一个字符串,这里代码里判断应该用res.data.status!==’1’;
小结
== 用来比较或者判断两者是否相等,比较时可以自动转换数据类型。
=== 用来较为严格的比较,除判断数据是否相等 ,还会判断两者数据类型是否相同,如不相同也不会转换数据类型,返回(false)。
顺便说一下,!= 用来比较或者判断两者是否不相等,比较时可以自动转换数据类型。
!== 用来较为严格的比较,除判断数据是否不相等 ,还会判断两者数据类型是否相同,如不相同也不会转换数据类型,返回(false);
其实不是什么大问题,但对于没有基础或则基础薄的同学们,这块可能会卡住;由此人为,要想处理这块工作,还是要把Vue通读一下作为支撑;娱乐分享,愿博一笑,祝同学们发大财!