记录一次项目开发中遇到的问题
导航头组件: A (city) --> B (region)
\ /
页面组件 触发 API 请求
关系:
当 A (city) 变化 时,会引起 B(region)变化,需要触发 页面 API 请求
当 B(region)变化 需要触发 页面 API 请求
问题:
由于当 A 发生变化时,A 和 B 的返回顺序 不确定,有时候 是正确的 先 A 再 B,有时候 是错误的 先 B 再 A。
我一开始监听 B 变化时,触发 API 请求,结果发现 B 变化时 A 还是未更新的状态,导致 API 请求错误。
解决办法:
1、改导航头,保证返回顺序的正确性;(组件是别人提供的,要修改需要沟通和时间成本,是难而正确的事)
2、改页面组件,增加 A (city) 监听,并增加 B(region)的判断逻辑,保证如果 A (city) 和 B(region) 不一致时,不触发请求。(紧急修复线上问题可以采用的方法)