Sửa lỗi đơ màn hình/Lỗi không phản hồi của Component bắt nguồn từ Wrapper API `useMy$Fetch`.
Tập trung điều trị tình trạng (mà dự án Fastboy Payment hay gặp): Nút bấm gọi API xong bị liệt, danh sách không cập nhật, hoặc data không chịu render dù file data.json có.
Tất cả thường do xử lý lỗi ở await useMy$Fetch(...) chưa triệt để.
useMy$Fetch bằng regex/grep.useMy$Fetch có được bọc trong vòng try...catch...finally hay chưa.Rất nhiều lỗi UI bị đơ là do thiếu khối finally để reset biến isLoading.value = false khi API ném ra Exception.
Agent ngay lập tức fix theo luồng:
const isLoading = ref(false) (nếu chưa có).const handleCallApi = async () => {
if (isLoading.value) return; // Prevent double click
isLoading.value = true;
try {
const data = await useMy$Fetch('/api/endpoint');
// handle data
} catch (error) {
// handle error/notification
} finally {
isLoading.value = false; // Luôn luôn chạy để gỡ block UI
}
}
Đoạn code đã được bọc an toàn, UI Component có bind thuộc tính :loading="isLoading" hoặc :disabled="isLoading". Trả lại nguyên file hoặc đoạn script để user cập nhật.