Forráskód Böngészése

fix: 修复竞态条件,确保渠道列表加载完成后再回显成员渠道

Developer 4 napja
szülő
commit
121b339cd0
1 módosított fájl, 14 hozzáadás és 6 törlés
  1. 14 6
      pagesMy/familyMemberVindicate.vue

+ 14 - 6
pagesMy/familyMemberVindicate.vue

@@ -122,13 +122,21 @@
 	const turnType = ref('')
 	
 	const loadChannelList = () => {
-		proxy.$api.get('/app/channel/list', {}).then(({ data: res }) => {
-			if (res.code !== 0) return
-			channelList.value = res.data || []
+		return new Promise((resolve) => {
+			proxy.$api.get('/app/channel/list', {}).then(({ data: res }) => {
+				if (res.code !== 0) {
+					resolve()
+					return
+				}
+				channelList.value = res.data || []
+				resolve()
+			})
 		})
 	}
 
-	const loadMemberChannel = (memberId) => {
+	const loadMemberChannel = async (memberId) => {
+		// 等待渠道列表加载完成
+		await loadChannelList()
 		proxy.$api.get('/app/member/channelList', { memberId }).then(({ data: res }) => {
 			if (res.code !== 0) return
 			const list = res.data || []
@@ -282,9 +290,9 @@
 	  });
 	};
 	
-	onLoad((options)=>{
+	onLoad(async (options)=>{
 		turnType.value = options.type;
-		loadChannelList()
+		await loadChannelList()
 		const id = options?.id;
 		if(id){
 			title.value = '编辑家庭成员';