Showing
1 changed file
with
10 additions
and
0 deletions
| 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 是否强制刷新 | ... | ... |
-
Please register or login to post a comment