uniapp需要create等待onshow中的操作执行完毕再执行的实现

  • Post author:
  • Post category:uniapp



uniapp需要create等待onshow中的操作执行完毕再执行的实现


可能是之前没怎么用到过这个东西,事件广播。



场景:

当你的小程序需要检测用户摄像头授权是否开启的时候,授权弹框只会在首次才弹出,如果很意外的首次用户点了拒绝授权,那么他以后再进入就会一直是未开启授权的状态,而你的小程序是必须要用户开启授权的,那么就影响到整体的流程了,没法玩了。

所以你就得在手动加个检测的方法,(具体怎么加,见之前的博客),但是这个方法加在哪里呢,我选择放在onshow,用户未授权,会提示用户必须开启,提供跳转开启授权页面的按钮,用户跳过去进行操作,选择开与不开,再跳转回来,这个时候原页面只走onshow,不会再走create,所以检测的方法需要写在onshow里面,但是有时候用户诡异操作,会出现将小程序切到后台,然后再回来,如果你的ws也放在onshow,那么可想而知,可能会出现建立两次的情况。聪明的我想到加个状态去判断是否有创建过ws,但是另一个场景,如果他在第一次的小程序还在运行的情况下,直接切出去,然后又重新进一次,那么,之前管理的状态还有用吗?没用了。就算加localStorage也没解决这个问题,就很诡异。

所以最后用到了这个。。。。。



写法如下:

在这里插入图片描述



版权声明:本文为qq_44706619原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。