tips:真的是翻来覆去的看,一直到问题解决,还是不太清楚异常的原因。
场景是这样的,最近在做活动,流量可能比较大,然后就在检查相关功能页面的性能,突然发现小程序如果网络切换的时候重新进的话(比如开飞行再切回4G), network里请求的接口就会pending住。
一开始以为是接口问题, 但是后端查了一下日志,发现什么都没有进去
再去看了一下别的小程序,随便看了几个,都没有这样的情况
整个人当时直接是就慌掉了。
又是断点又是真机找了半天原因, 发现了一个奇怪的地方
先讲一下我们的机制, 就很常规的,用户进来要
先拿wx.login的code从我们自己的login接口里换用户信息
什么的,拿到了之后别的接口才会调。
那个异常就是发生在上面👆划线的过程中
如果是常规进入的话,无论场景是什么, 整个取数据的流程都没有问题
唯独是断网再重连的情况下 在wx.login回调里的接口就会卡住(几番尝试发现和接口自身没有任何关系,换了很多不同的接口,包括域名/协议,最后甚至拿百度搜索引擎里随便拿个接口都一样会pending)
翻来覆去改代码发现就是这里的问题
看到这我感觉这可能是开发者解决不了的异常了, 可能是wx.login在弱网状态下和微信那边的通信触发了什么诡异的东西。
那么为什么别的小程序复现不出来这个问题呢?
想了差不多半个小时,我发现了一个不正常的地方。
常规的登录流程是不会每次打开小程序都去刷wx.login的 一般是把token之类的存到storage里, 在请求里封装token过期的刷新处理。
然后现在这个小程序是每次进来都会重新刷一遍token,
我把机制改成上面常规的之后,这个问题就没有了。
所以到底还是没有查粗来具体问题是什么。 ---- 先这样,能跑就行。
想必,最近有些
小程序
开发者,在调用wx.login()的时候,在部分IOS上无响应的情况;
补充一点:在测试模式,调试模式,都是OK的,一上正式环境就GG了,百思不得其解啊!
响应结果如下:
分析结果,我们知道,login
接口
一直处于pending状态,如果加了timeout时间后,在complate回调中可触发;
那为什么login方法一直是pending呢????
看了微信的社区,也提了问题,但是微信官方回应,他们真机测试过,没这个情况发生;what fuck!!!见鬼了么
这就尴尬了,一边一个说辞,然后就继续解决呗!客户等着呢,锅甩给微信,客户也不答应啊!
捋了一遍代码,发现页面
异步转同步的解决方案一、前言二、 promise的概念三、promise的使用四、一个因为异步
请求
出问题的案例五、案例的解决方案1、运用promise解决异步转同步问题2、运用async+await+promise解决异步转同步问题为什么有Async/Await?什么是`async/await`呢?什么是Async什么是await案例解决
简单阐述一个困扰我们已久的问题:因为异步函数中的赋值操作是不同步的(即程序不会等该函数执行完再执行下面的函数),这样就导致了在该异步函数下面的程序的赋值操作
点击播放 GIF 0.0M点击关注 不迷路点击播放 GIF 0.0M点击播放 GIF 0.0M壹微信
小程序
网络微信
小程序
网络网络在
小程序
/小游戏中使用网络相关的 API 时,需要注意下列问题,请开发者提前了解。1. 服务器域名配置每个微信
小程序
需要事先设置通讯域名,
小程序
只可以跟指定的域名进行网络通信。包括普通 HTTPS
请求
(wx.request)、上传文件(wx.uploadFile)、...
问题排查:服务器部署服务
接口
访问出现1/2Pending状态:
问题定位:访问服务两次中一次200状态,一次Pending,所以应该定位问题在负载均衡上,先查看注册中心nacos,打开nacos首页发现一个服务有两个实例,其中一个是无法访问的。
问题解决:是由于本机开启了一个服务注册到了注册中心,但是无法访问,因此关闭本机服务或者从nacos下线本机实例,访问正常。
调用
接口
pending的解决方案
这个问题是在项目试运行一周左右出现的,最初是以为服务器承受不了压力崩溃了。后来发现调用某个查询
接口
之后pending,再之后调用任何一个
接口
全部都pending阻塞了。
定位这个API
接口
后,我在代码里加入了打印
接口
每一步调用时间,云上打印出日志。惊讶的发现这个
接口
调用之后,有一个开始时间,但是再也没能打印出结束时间。同时我还看了下Linux服务器CP...
开发环境前端:Vue 2.0后台:Node Express浏览器:Chrome部署系统:Linux问题现象在现有项目的基础之上增加了两个页面,但是在使用的过程中发现,当连续操作几次之后页面会变得奇慢无比,查看
接口
调用发现
接口
请求
长时间处于pending状态,但是等1-2分钟左右
接口
还是会返回应答结果。如下图所示:原因分析通过反复复现该问题(在各个页面之间不同切换,触发
请求
),发现了一个规律,就是每...
服务端证书使用的是 Let's Encrypt
问题的起因是IOS系统中使用微信
小程序
,
请求
服务器
接口
,首次
请求
需要等待3 ~ 10秒。导致
小程序
初次打开白屏。
在反复验证后,排除了Nginx、Tomcat、Java等问题。最终锁定了问题出在HTTPS证书上。
最终参考了V站大佬的帖子才恍然大悟。 https://v2ex.com/t/665734
在某些系统以及某些特定的浏览器下...