YoukaRequestError cho lỗi HTTP và lỗi xác thực (validation), và YoukaTaskError cho các tác vụ bất đồng bộ kết thúc ở trạng thái không thành công. Cả hai đều kế thừa Error và mang theo các trường có cấu trúc để bạn có thể rẽ nhánh theo code, status và khả năng thử lại (retryability).
YoukaRequestError
Được ném ra khi gặp lỗi HTTP, lỗi xác thực request, và phản hồi bị sai định dạng.
Các trường
string
Mã lỗi có thể đọc bởi máy, ví dụ
INVALID_REQUEST, UNAUTHORIZED,
UPLOAD_FAILED.string
Mô tả dành cho con người.
number
Mã trạng thái HTTP, nếu có.
boolean
true nếu SDK coi lỗi này đáng để thử lại (giới hạn tốc độ, lỗi máy chủ tạm thời, đang phát lại theo idempotent).unknown
Chi tiết do server cung cấp, thường là danh sách issue của Zod đối với lỗi validation.
Các code thường gặp
YoukaTaskError
Được ném ra từ client.tasks.wait(...), client.projects.wait(...), và client.exports.wait(...) khi tác vụ hoặc export bên dưới kết thúc ở failed, cancelled, hoặc timed-out.
Các trường
'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
Ánh xạ trực tiếp tới trạng thái kết thúc (terminal status) của tác vụ.
string
Hoặc là thông điệp lỗi của tác vụ do server cung cấp, hoặc là một thông điệp dự phòng được tạo ra.
TaskStatus
Trạng thái kết thúc của tác vụ.
RestTask
Toàn bộ payload của tác vụ tại thời điểm thất bại. Hữu ích cho việc ghi log và
thông báo lỗi hiển thị cho người dùng.
Mẫu retry
Kết hợpretryable với một idempotency key để xây dựng vòng lặp retry an toàn:
Hủy (abort) và huỷ tác vụ
Khi abort một request sẽ ném raAbortError tiêu chuẩn — không phải YoukaRequestError. Hãy kiểm tra riêng trường hợp này:
Tiếp theo
- Tasks — các helper để chờ và polling tác vụ nâng cao
- Authentication — các tuỳ chọn constructor và signal
- API errors — các code tương tự ở dạng HTTP thô
