> ## Content Index
> Fetch the complete content index at: http://localhost:2368/llms.txt
> Use this file to discover other available public pages before exploring further.

# 切換太快，畫面顯示到別筆資料
- URL: http://localhost:2368/race-condition/
- Published: 2026-07-06T07:08:07.000Z
- Updated: 2026-08-23T13:54:25.000Z
- Description: 競態條件：慢的查詢晚回來蓋掉快的。症狀是偶發、越快越容易出現、重整就好；驗收要快速連續切換才測得到。
- Author: yuchang23
- Tags: #wiki, #wiki-concept

> **定義**：競態條件＝兩個查詢同時在跑，慢的那個晚回來，把快的結果蓋掉。典型症狀：列表頁快速連點兩筆資料，畫面標題是 A 筆、內容卻是 B 筆。

## 症狀特徵（怎麼認出它）

- 不是每次都發生。
- 越快速操作越容易出現。
- 重新整理就好。

這種「抓不太到的偶發 bug」通常就是競態。看到符合這三條的回報，可以直接朝這個方向懷疑。

## 為什麼會發生

使用者切到 B 筆時，A 筆的查詢還在路上。網路回應的順序不保證跟發出的順序一樣——A 的回應晚到，就把 B 的畫面蓋掉了。

## 解法（AI 當時怎麼解）

雙保險：切換時①主動取消上一個還在跑的查詢；②就算取消失敗，過期的回應回來也會被標記丟棄，不准更新畫面。

## 驗收方式（特別）

要「**快速連續切換**」地操弄系統才測得出來，正常速度點是測不到的。之後所有「列表→詳情」的功能都要加這條驗收。

## 相關條目

- [兩個人同時改同一筆資料怎麼辦](https://yuchang23.com/concurrent-edit-conflict/?ref=localhost)