react初学踏坑记录-if(number)到底过滤了什么
标题if(number)过滤了 undefined、null、0导致number===0时不执行后续操作
背景
有一个bug,提现完成后需要从服务器刷新余额,但偶现余额未刷新
过程
起初,怀疑是不是提现完后立马刷新余额,服务器还没来的刷新,或者有缓存,所以加了详细的日志等待确认;
but,日志出来后发现网络请求返回的余额没问题;
so,怀疑是不是网络请求后没有正确设置,看了代码很无力,没有找到。
求助了同事,他发现网络请求返回和设置更新值之间应该打印一条日志,but没有出现,一下子缩短了问题的范围,这才怀疑到了这个判断上。
结论
为了正确处理接口返回的异常,所有更新余额的网络方法有可能在catch后返回undefined,为了避免这种数据对客户端逻辑的影响,直接使用了if(number),导致如果余额减少后为0,是无法及时刷新余额的。