vue在组件销毁的时候将异步请求撤销
背景
Vue 2 + ArcGIS JS
加载图层使用 FeatureLayer.queryFeatures(query)
对服务端执行地理数据查询请求。
该请求为 fetch 类型。
复现
Bug:刚打开专题A,未等加载完,点击快速切换到共用同一个地图的新专题B,地图却加载专题A的数据图层。
原因:由于地图还是用的同一个对象,且该函数FeatureLayer.queryFeatures(query)
异步执行,当异步等待完成后,会继续执行原有的 then()
内容
解决
方法 1. Vue 声明变量标记组件是否被销毁
方法 2. 使用 AbortController 终止请求
参考: