hookehuyr

docs(useOfflineBookingCachePolling): 添加代码注释说明飞行状态锁模式

1 +/**
2 + * @description: 轮询离线预约缓存
3 + */
4 +
1 import Taro from '@tarojs/taro' 5 import Taro from '@tarojs/taro'
2 import { refresh_offline_booking_cache } from '@/composables/useOfflineBookingCache' 6 import { refresh_offline_booking_cache } from '@/composables/useOfflineBookingCache'
3 import { get_network_type, is_usable_network } from '@/utils/network' 7 import { get_network_type, is_usable_network } from '@/utils/network'
...@@ -41,6 +45,12 @@ const normalize_options = (options) => { ...@@ -41,6 +45,12 @@ const normalize_options = (options) => {
41 } 45 }
42 46
43 /** 47 /**
48 + * 这是异步编程中典型的飞行状态锁(In-Flight Lock) 模式,是异步防重的核心思维落地方式;
49 + * 核心逻辑:执行前 “上锁” 标记 → 执行异步操作 → 无论成败都 “解锁” 重置标记,从根源避免重复执行;
50 + * finally 块是关键保障:防止异步操作报错导致 “永久上锁”,确保后续调用能正常执行。
51 + */
52 +
53 +/**
44 * @description: 刷新离线预约缓存一次 54 * @description: 刷新离线预约缓存一次
45 * @param {Object} options 选项 55 * @param {Object} options 选项
46 * @param {Boolean} options.force 是否强制刷新 56 * @param {Boolean} options.force 是否强制刷新
......