@dxtmisha/wiki 0.39.7 → 0.39.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{defineProperty-DblGXmzD.js → defineProperty-Bjg6wMoX.js} +4 -4
- package/dist/library.js +1 -1
- package/dist/media.js +12 -0
- package/dist/storybook.js +1 -1
- package/package.json +1 -1
- package/src/media/functional/functional-basic/api/api.en.mdx +45 -0
- package/src/media/functional/functional-basic/api/api.ru.mdx +45 -0
- package/src/media/functional/functional-basic/api/api.vi.mdx +45 -0
- package/src/media/functional/functional-basic/classes/Api/Api.en.mdx +54 -54
- package/src/media/functional/functional-basic/classes/Api/Api.ru.mdx +54 -54
- package/src/media/functional/functional-basic/classes/Api/Api.vi.mdx +54 -54
- package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.en.mdx +111 -0
- package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.ru.mdx +111 -0
- package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.vi.mdx +111 -0
- package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.en.mdx +32 -0
- package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.ru.mdx +32 -0
- package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.vi.mdx +32 -0
- package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.en.mdx +24 -28
- package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.ru.mdx +24 -28
- package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.vi.mdx +24 -28
- package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.en.mdx +28 -14
- package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.ru.mdx +33 -19
- package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.vi.mdx +33 -19
- package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.en.mdx +56 -0
- package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.ru.mdx +56 -0
- package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.vi.mdx +55 -0
- package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.en.mdx +101 -49
- package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.ru.mdx +101 -49
- package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.vi.mdx +98 -47
- package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.en.mdx +44 -26
- package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.ru.mdx +45 -27
- package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.vi.mdx +44 -26
- package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.en.mdx +50 -21
- package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.ru.mdx +54 -25
- package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.vi.mdx +55 -26
- package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.en.mdx +29 -32
- package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.ru.mdx +33 -36
- package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.vi.mdx +33 -36
- package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.en.mdx +34 -53
- package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.ru.mdx +33 -52
- package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.vi.mdx +39 -58
- package/src/media/functional/functional-basic/classes/Cache/Cache.en.mdx +7 -4
- package/src/media/functional/functional-basic/classes/Cache/Cache.ru.mdx +7 -4
- package/src/media/functional/functional-basic/classes/Cache/Cache.vi.mdx +28 -25
- package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.en.mdx +45 -53
- package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.ru.mdx +46 -54
- package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.vi.mdx +47 -55
- package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.en.mdx +13 -1
- package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.ru.mdx +13 -1
- package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.vi.mdx +13 -0
- package/src/media/functional/functional-basic/classes/Cookie/Cookie.en.mdx +88 -44
- package/src/media/functional/functional-basic/classes/Cookie/Cookie.ru.mdx +88 -44
- package/src/media/functional/functional-basic/classes/Cookie/Cookie.vi.mdx +85 -41
- package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.en.mdx +43 -22
- package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.ru.mdx +46 -25
- package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.vi.mdx +43 -22
- package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.en.mdx +84 -0
- package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.ru.mdx +84 -0
- package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.vi.mdx +100 -0
- package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.en.mdx +153 -0
- package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.ru.mdx +153 -0
- package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.vi.mdx +153 -0
- package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.en.mdx +32 -25
- package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.ru.mdx +32 -25
- package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.vi.mdx +32 -27
- package/src/media/functional/functional-basic/classes/Datetime/Datetime.en.mdx +36 -4
- package/src/media/functional/functional-basic/classes/Datetime/Datetime.ru.mdx +36 -4
- package/src/media/functional/functional-basic/classes/Datetime/Datetime.vi.mdx +36 -4
- package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.en.mdx +101 -70
- package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.ru.mdx +100 -69
- package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.vi.mdx +101 -70
- package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.en.mdx +46 -42
- package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.ru.mdx +46 -42
- package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.vi.mdx +46 -42
- package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.en.mdx +44 -96
- package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.ru.mdx +44 -96
- package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.vi.mdx +44 -96
- package/src/media/functional/functional-basic/classes/EventItem/EventItem.en.mdx +49 -28
- package/src/media/functional/functional-basic/classes/EventItem/EventItem.ru.mdx +21 -0
- package/src/media/functional/functional-basic/classes/EventItem/EventItem.vi.mdx +63 -42
- package/src/media/functional/functional-basic/classes/Formatters/Formatters.en.mdx +97 -109
- package/src/media/functional/functional-basic/classes/Formatters/Formatters.ru.mdx +86 -98
- package/src/media/functional/functional-basic/classes/Formatters/Formatters.vi.mdx +99 -111
- package/src/media/functional/functional-basic/classes/Geo/Geo.en.mdx +3 -3
- package/src/media/functional/functional-basic/classes/Geo/Geo.ru.mdx +5 -5
- package/src/media/functional/functional-basic/classes/Geo/Geo.vi.mdx +5 -5
- package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.en.mdx +83 -40
- package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.ru.mdx +83 -40
- package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.vi.mdx +87 -44
- package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.en.mdx +81 -0
- package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.ru.mdx +81 -0
- package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.vi.mdx +81 -0
- package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.en.mdx +56 -105
- package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.ru.mdx +53 -102
- package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.vi.mdx +55 -105
- package/src/media/functional/functional-basic/classes/Hash/Hash.en.mdx +18 -7
- package/src/media/functional/functional-basic/classes/Hash/Hash.ru.mdx +18 -7
- package/src/media/functional/functional-basic/classes/Hash/Hash.vi.mdx +18 -7
- package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.en.mdx +54 -0
- package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.ru.mdx +54 -0
- package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.vi.mdx +54 -0
- package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.en.mdx +78 -0
- package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.ru.mdx +78 -0
- package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.vi.mdx +78 -0
- package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.en.mdx +50 -0
- package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.ru.mdx +50 -0
- package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.vi.mdx +50 -0
- package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.en.mdx +131 -0
- package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.ru.mdx +131 -0
- package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.vi.mdx +131 -0
- package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.en.mdx +97 -0
- package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.ru.mdx +97 -0
- package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.vi.mdx +97 -0
- package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.en.mdx +13 -5
- package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.ru.mdx +13 -5
- package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.vi.mdx +13 -5
- package/src/media/functional/functional-basic/functions/anyToString/anyToString.en.mdx +37 -19
- package/src/media/functional/functional-basic/functions/anyToString/anyToString.ru.mdx +37 -19
- package/src/media/functional/functional-basic/functions/anyToString/anyToString.vi.mdx +35 -17
- package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.en.mdx +31 -19
- package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.ru.mdx +31 -19
- package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.vi.mdx +32 -20
- package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.en.mdx +29 -15
- package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.ru.mdx +28 -14
- package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.vi.mdx +28 -14
- package/src/media/functional/functional-basic/functions/capitalize/capitalize.en.mdx +7 -3
- package/src/media/functional/functional-basic/functions/capitalize/capitalize.ru.mdx +7 -3
- package/src/media/functional/functional-basic/functions/capitalize/capitalize.vi.mdx +7 -3
- package/src/media/functional/functional-basic/functions/copyObject/copyObject.en.mdx +17 -13
- package/src/media/functional/functional-basic/functions/copyObject/copyObject.ru.mdx +17 -13
- package/src/media/functional/functional-basic/functions/copyObject/copyObject.vi.mdx +17 -13
- package/src/media/functional/functional-basic/functions/createElement/createElement.en.mdx +2 -0
- package/src/media/functional/functional-basic/functions/createElement/createElement.ru.mdx +2 -0
- package/src/media/functional/functional-basic/functions/createElement/createElement.vi.mdx +2 -0
- package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.en.mdx +1 -3
- package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.ru.mdx +1 -3
- package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.vi.mdx +1 -3
- package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.en.mdx +13 -10
- package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.ru.mdx +14 -11
- package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.vi.mdx +12 -9
- package/src/media/functional/functional-basic/functions/executePromise/executePromise.en.mdx +14 -13
- package/src/media/functional/functional-basic/functions/executePromise/executePromise.ru.mdx +15 -14
- package/src/media/functional/functional-basic/functions/executePromise/executePromise.vi.mdx +14 -13
- package/src/media/functional/functional-basic/functions/forEach/forEach.en.mdx +1 -1
- package/src/media/functional/functional-basic/functions/forEach/forEach.ru.mdx +1 -1
- package/src/media/functional/functional-basic/functions/forEach/forEach.vi.mdx +1 -1
- package/src/media/functional/functional-basic/functions/frame/frame.en.mdx +7 -4
- package/src/media/functional/functional-basic/functions/frame/frame.ru.mdx +6 -3
- package/src/media/functional/functional-basic/functions/frame/frame.vi.mdx +7 -4
- package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.en.mdx +34 -0
- package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.ru.mdx +34 -0
- package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.vi.mdx +35 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.en.mdx +2 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.ru.mdx +2 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.vi.mdx +2 -0
- package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.en.mdx +21 -0
- package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.ru.mdx +21 -0
- package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.vi.mdx +21 -0
- package/src/media/functional/functional-basic/functions/getElementId/getElementId.en.mdx +17 -3
- package/src/media/functional/functional-basic/functions/getElementId/getElementId.ru.mdx +17 -3
- package/src/media/functional/functional-basic/functions/getElementId/getElementId.vi.mdx +18 -4
- package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.en.mdx +31 -0
- package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.ru.mdx +31 -0
- package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.vi.mdx +31 -0
- package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.en.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.ru.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.vi.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.en.mdx +11 -4
- package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.ru.mdx +14 -7
- package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.vi.mdx +13 -6
- package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.en.mdx +3 -2
- package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.ru.mdx +3 -2
- package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.vi.mdx +3 -2
- package/src/media/functional/functional-basic/functions/toNumber/toNumber.en.mdx +25 -9
- package/src/media/functional/functional-basic/functions/toNumber/toNumber.ru.mdx +25 -9
- package/src/media/functional/functional-basic/functions/toNumber/toNumber.vi.mdx +25 -9
- package/src/media/functional/functional-basic/functions/toString/toString.en.mdx +28 -0
- package/src/media/functional/functional-basic/functions/toString/toString.ru.mdx +28 -0
- package/src/media/functional/functional-basic/functions/toString/toString.vi.mdx +28 -0
- package/src/media/functional/ui/about/about.en.mdx +45 -0
- package/src/media/functional/ui/about/about.ru.mdx +45 -0
- package/src/media/functional/ui/about/about.vi.mdx +45 -0
- package/src/media/functional/ui/component/component.en.mdx +104 -0
- package/src/media/functional/ui/component/component.ru.mdx +106 -0
- package/src/media/functional/ui/component/component.vi.mdx +104 -0
- package/src/media/functional/ui/setup/setup.en.mdx +72 -0
- package/src/media/functional/ui/setup/setup.ru.mdx +72 -0
- package/src/media/functional/ui/setup/setup.vi.mdx +72 -0
- package/src/media/functional/ui/wiki-data.en.mdx +114 -0
- package/src/media/functional/ui/wiki-data.ru.mdx +114 -0
- package/src/media/functional/ui/wiki-data.vi.mdx +114 -0
|
@@ -2,94 +2,125 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/vi/functional-basic/Classes/ErrorCenter - Quản lý lỗi'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenter
|
|
5
|
+
# Lớp ErrorCenter
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenter` là công cụ trung tâm để quản lý tất cả các lỗi trong ứng dụng. Nó cho phép bạn đăng ký các nguyên nhân lỗi có thể xảy ra ở một nơi, cấu hình phản ứng với chúng (ví dụ: hiển thị thông báo) và kích hoạt chúng từ bất kỳ phần nào của mã.
|
|
8
8
|
|
|
9
|
-
Lớp này
|
|
9
|
+
Lớp này hoạt động như một vỏ bọc tĩnh (Static Bridge), chuyển tất cả các yêu cầu đến một `ErrorCenterInstance` duy nhất.
|
|
10
10
|
|
|
11
|
-
## Các
|
|
11
|
+
## Các phương thức
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
- **Xử lý theo nhóm** — Cho phép đăng ký nhiều hàm gọi lại cho các danh mục lỗi cụ thể.
|
|
16
|
-
- **Chainable API** — Các phương thức thêm nguyên nhân và trình xử lý hỗ trợ thiết kế giao diện linh hoạt.
|
|
17
|
-
- **Giá trị mặc định** — Đi kèm với các nguyên nhân lỗi mạng tiêu chuẩn (`timeout`, `offline`, `notFound`, v.v.).
|
|
13
|
+
### Hành động
|
|
14
|
+
- `on(cause: ErrorCenterCauseItem): void` — Bắt đầu quá trình xử lý. Tìm kiếm dữ liệu trong sổ đăng ký, hợp nhất chúng và gọi các callback thích hợp.
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
### Xác minh
|
|
17
|
+
- `has(code: string, group?: string): boolean` — Kiểm tra xem lỗi đã được đăng ký chưa.
|
|
18
|
+
- `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Trả về dữ liệu lỗi từ sổ đăng ký.
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
- `
|
|
20
|
+
### Cấu hình
|
|
21
|
+
- `add(cause: ErrorCenterCauseItem): void` — Thêm một nguyên nhân lỗi.
|
|
22
|
+
- `addList(causes: ErrorCenterCauseList): void` — Thêm một danh sách lỗi (đăng ký hàng loạt).
|
|
23
|
+
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): void` — Đăng ký phản ứng cho một nhóm lỗi.
|
|
24
|
+
- `addHandlerList(handlers: ErrorCenterHandlerList): void` — Đăng ký hàng loạt nhiều trình xử lý.
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
- `getItem(): ErrorCenterInstance` — Trả về thực thể nền tảng được sử dụng bởi lớp tĩnh.
|
|
27
|
-
|
|
28
|
-
## Cấu hình
|
|
29
|
-
|
|
30
|
-
- `add(cause: ErrorCenterCauseItem): this` — Thêm một nguyên nhân lỗi duy nhất vào bộ lưu trữ toàn cầu.
|
|
31
|
-
- `addList(causes: ErrorCenterCauseList): this` — Thêm nhiều nguyên nhân lỗi vào bộ lưu trữ cùng một lúc.
|
|
32
|
-
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Đăng ký một hàm gọi lại cho một nhóm lỗi cụ thể.
|
|
33
|
-
- `addHandlerList(handlers: ErrorCenterHandlerList): this` — Đăng ký một loạt các trình xử lý.
|
|
34
|
-
|
|
35
|
-
## Các phương thức hành động
|
|
36
|
-
|
|
37
|
-
### `on`
|
|
38
|
-
|
|
39
|
-
Kích hoạt xử lý lỗi cho nguyên nhân được chỉ định. Nó tìm kiếm dữ liệu đã đăng ký trước đó cho mã lỗi (nếu có), hợp nhất với nguyên nhân đầu vào (`cause`), thực thi tất cả các trình xử lý đã đăng ký cho nhóm đó và ghi lỗi vào bảng điều khiển (console).
|
|
40
|
-
|
|
41
|
-
**Tham số:**
|
|
42
|
-
- `cause: ErrorCenterCauseItem` — Nguyên nhân lỗi cần kích hoạt. Chỉ cần cung cấp mã và nhóm nếu nguyên nhân đó đã được đăng ký trước đó qua `add()`.
|
|
43
|
-
|
|
44
|
-
**Trả về:** `this`
|
|
26
|
+
### Bổ trợ
|
|
27
|
+
- `getItem(): ErrorCenterInstance` — Trả về thực thể nội bộ của lớp.
|
|
45
28
|
|
|
46
29
|
## Các kiểu dữ liệu
|
|
47
30
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Đối tượng chính được sử dụng để xác định nguyên nhân gây lỗi.
|
|
31
|
+
#### `ErrorCenterGroup`
|
|
32
|
+
Tên nhóm (ví dụ: 'api', 'auth') hoặc `undefined` cho trình xử lý chung.
|
|
51
33
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- `label?: string` — tên lỗi dễ đọc cho người dùng.
|
|
55
|
-
- `message?: string` — mô tả chi tiết về lỗi.
|
|
56
|
-
- `details?: any` — đối tượng tùy chọn cho các dữ liệu bổ sung.
|
|
34
|
+
#### `ErrorCenterCauseItem`
|
|
35
|
+
Đối tượng mô tả lỗi: `group`, `code` (bắt buộc), `priority`, `label`, `message`, `details`.
|
|
57
36
|
|
|
58
|
-
|
|
37
|
+
## Hướng dẫn sử dụng
|
|
59
38
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
39
|
+
### Bước 1: Đăng ký (Registry)
|
|
40
|
+
Lập một từ điển lỗi để lưu trữ văn bản tách biệt với mã.
|
|
41
|
+
```typescript
|
|
42
|
+
ErrorCenter.add({
|
|
43
|
+
group: 'auth',
|
|
44
|
+
code: 'LOGIN_FAILED',
|
|
45
|
+
label: 'Đăng nhập thất bại',
|
|
46
|
+
message: 'Mật khẩu không hợp lệ.'
|
|
47
|
+
})
|
|
48
|
+
```
|
|
65
49
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
50
|
+
### Bước 2: Đăng ký nhận lỗi (Handlers)
|
|
51
|
+
Chỉ định cách ứng dụng sẽ phản ứng với một nhóm lỗi.
|
|
52
|
+
```typescript
|
|
53
|
+
ErrorCenter.addHandler('auth', (cause) => {
|
|
54
|
+
alert(cause.message);
|
|
55
|
+
});
|
|
56
|
+
```
|
|
71
57
|
|
|
72
|
-
|
|
58
|
+
### Bước 3: Kích hoạt (Execution)
|
|
59
|
+
Kích hoạt lỗi bằng mã và nhóm của nó.
|
|
60
|
+
```typescript
|
|
61
|
+
ErrorCenter.on({ group: 'auth', code: 'LOGIN_FAILED' });
|
|
62
|
+
```
|
|
73
63
|
|
|
74
|
-
|
|
64
|
+
## Nguyên nhân lỗi tiêu chuẩn
|
|
65
|
+
|
|
66
|
+
Lớp đã chứa các mô tả sẵn có cho các tình huống phổ biến.
|
|
67
|
+
|
|
68
|
+
#### Nhóm API (`api`)
|
|
69
|
+
Được sử dụng cho các lỗi yêu cầu mạng.
|
|
70
|
+
- **forbidden** — Truy cập bị cấm (403).
|
|
71
|
+
- **notFound** — Không tìm thấy tài nguyên (404).
|
|
72
|
+
- **offline** — Không có kết nối internet.
|
|
73
|
+
- **server** — Lỗi máy chủ nội bộ (500).
|
|
74
|
+
- **timeout** — Hết thời gian yêu cầu.
|
|
75
|
+
- **unauthorized** — Lỗi xác thực (401).
|
|
76
|
+
- **unknown** — Lỗi không xác định.
|
|
77
|
+
- **cacheClear**, **cacheGet**, **cacheRemove**, **cacheSet** — Lỗi khi làm việc với bộ nhớ đệm.
|
|
78
|
+
|
|
79
|
+
#### Nhóm Intl (`intl`)
|
|
80
|
+
Lỗi trong quá trình định dạng dữ liệu (ngày tháng, số, v.v.).
|
|
81
|
+
- **datetime**, **display**, **number**, **plural**, **relative**.
|
|
82
|
+
- **invalid** — Ngày không hợp lệ hoặc định dạng sai.
|
|
83
|
+
|
|
84
|
+
#### Nhóm Storage (`storage`)
|
|
85
|
+
Lỗi khi tương tác với bộ lưu trữ cục bộ hoặc máy chủ.
|
|
86
|
+
- **context** — Thiếu ngữ cảnh.
|
|
87
|
+
- **error** — Lỗi đọc/ghi chung.
|
|
88
|
+
|
|
89
|
+
#### Các nhóm khác
|
|
90
|
+
Các nhóm này sử dụng mã lỗi chung `error`. Việc kích hoạt được thực hiện thông qua `ErrorCenter.on({ group: 'tên_nhóm', code: 'error' })`.
|
|
91
|
+
- **broadcast** — Lỗi trong việc trao đổi dữ liệu giữa các tab trình duyệt.
|
|
92
|
+
- **hydration** — Lỗi trong quá trình đồng bộ hóa dữ liệu giữa máy chủ và máy khách.
|
|
93
|
+
- **share** — Lỗi khi cố gắng chia sẻ nội dung (Sharing API).
|
|
94
|
+
- **transformation** — Lỗi trong quá trình chuyển đổi hoặc phân tích cú pháp dữ liệu.
|
|
95
|
+
|
|
96
|
+
## Ví dụ
|
|
97
|
+
|
|
98
|
+
### Tích hợp với hệ thống thông báo
|
|
99
|
+
```typescript
|
|
75
100
|
import { ErrorCenter } from '@dxtmisha/functional-basic'
|
|
76
101
|
|
|
77
|
-
//
|
|
102
|
+
// Thiết lập một lần khi khởi động ứng dụng
|
|
78
103
|
ErrorCenter.addHandler('api', (cause) => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
})
|
|
104
|
+
Toast.show(cause.label || 'Lỗi', cause.message);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// Sử dụng trong bất kỳ dịch vụ nào
|
|
108
|
+
async function loadData() {
|
|
109
|
+
try {
|
|
110
|
+
const data = await fetch('/api');
|
|
111
|
+
} catch (e) {
|
|
112
|
+
ErrorCenter.on({ group: 'api', code: 'server', details: e });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
92
116
|
|
|
93
|
-
|
|
94
|
-
|
|
117
|
+
### Làm việc với các nhóm tùy chỉnh
|
|
118
|
+
```typescript
|
|
119
|
+
// Đăng ký tức thì
|
|
120
|
+
ErrorCenter.on({
|
|
121
|
+
group: 'upload',
|
|
122
|
+
code: 'SIZE_LIMIT',
|
|
123
|
+
label: 'Tệp quá lớn',
|
|
124
|
+
message: 'Tối đa 5MB'
|
|
125
|
+
});
|
|
95
126
|
```
|
package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.en.mdx
CHANGED
|
@@ -2,68 +2,72 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/en/functional-basic/Classes/ErrorCenterHandler - Handler Management'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterHandler
|
|
5
|
+
# ErrorCenterHandler Class
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenterHandler` is a manager for handling callback functions (handlers). It allows you to bind logic to specific error groups and execute it when a corresponding event occurs.
|
|
8
8
|
|
|
9
9
|
## Key Features
|
|
10
10
|
|
|
11
|
-
- **Handler Registration** —
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
- **Integrated Logging** — Automatically outputs error details to the browser console for debugging.
|
|
11
|
+
- **Handler Registration** — convenient addition of callback functions to specific groups.
|
|
12
|
+
- **Global Handler** — support for the `undefined` group, which catches any error without a specific handler.
|
|
13
|
+
- **Sequential Execution** — triggers all registered functions in the order they were added.
|
|
14
|
+
- **Integrated Logging** — automatically outputs error details to the console.
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Initialization
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Retrieves the handler mapping for a group.
|
|
18
|
+
To create an instance, use the constructor `ErrorCenterHandler(handlers)`.
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
**Parameters:**
|
|
21
|
+
- `handlers?: ErrorCenterHandlerList` — initial list of handlers.
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
```typescript
|
|
24
|
+
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
const handlers = new ErrorCenterHandler([
|
|
27
|
+
{
|
|
28
|
+
group: 'api',
|
|
29
|
+
handlers: [(cause) => console.log('API Error:', cause.code)]
|
|
30
|
+
}
|
|
31
|
+
]);
|
|
32
|
+
```
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
## Methods
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
### Action
|
|
37
|
+
- `on(cause: ErrorCenterCauseItem): this` — Triggers the chain of handlers. Always outputs an error to the console via `console.error`.
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
- `
|
|
39
|
+
### Verification
|
|
40
|
+
- `has(group: ErrorCenterGroup): boolean` — Checks if there are handlers for a group.
|
|
41
|
+
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Returns a list of functions for a group.
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
### Configuration
|
|
44
|
+
- `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Adds a single function to a group.
|
|
45
|
+
- `addList(handlers: ErrorCenterHandlerList): this` — Batch registration of handlers.
|
|
37
46
|
|
|
38
47
|
## Types
|
|
39
48
|
|
|
40
|
-
|
|
49
|
+
#### `ErrorCenterGroup`
|
|
50
|
+
Group name (`string`) or `undefined` for global interception.
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
#### `ErrorCenterHandlerCallback`
|
|
53
|
+
Callback function: `(cause: ErrorCenterCauseItem) => void`.
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```javascript
|
|
49
|
-
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
55
|
+
#### `ErrorCenterHandlerItem`
|
|
56
|
+
Link between a group and an array of its functions.
|
|
57
|
+
- `group?: ErrorCenterGroup` — target group.
|
|
58
|
+
- `handlers: ErrorCenterHandlerCallback[]` — list of functions.
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
## Examples
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
})
|
|
62
|
+
### Isolated Manager for a Module
|
|
63
|
+
```typescript
|
|
64
|
+
const uploadHandlers = new ErrorCenterHandler();
|
|
57
65
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
66
|
+
uploadHandlers.add('upload', (cause) => {
|
|
67
|
+
if (cause.code === 'retry') {
|
|
68
|
+
restartUpload();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
62
71
|
|
|
63
|
-
|
|
64
|
-
handlerManager.on({
|
|
65
|
-
group: 'api',
|
|
66
|
-
code: '500',
|
|
67
|
-
message: 'Internal Server Error'
|
|
68
|
-
})
|
|
72
|
+
uploadHandlers.on({ group: 'upload', code: 'retry' });
|
|
69
73
|
```
|
package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.ru.mdx
CHANGED
|
@@ -2,68 +2,72 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/ru/functional-basic/Classes/ErrorCenterHandler - Управление обработчиками'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterHandler
|
|
5
|
+
# Класс ErrorCenterHandler
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenterHandler` — это менеджер для управления функциями обратного вызова (обработчиками). Он позволяет привязывать логику к определенным группам ошибок и выполнять её, когда происходит соответствующее событие.
|
|
8
8
|
|
|
9
9
|
## Ключевые особенности
|
|
10
10
|
|
|
11
|
-
- **Регистрация обработчиков** —
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- **Интегрированное логирование** — Автоматически выводит детали ошибки в консоль браузера.
|
|
11
|
+
- **Регистрация обработчиков** — удобное добавление функций обратного вызова к конкретным группам.
|
|
12
|
+
- **Глобальный обработчик** — поддержка группы `undefined`, которая перехватывает любую ошибку без специфического обработчика.
|
|
13
|
+
- **Последовательное выполнение** — запускает все зарегистрированные функции в порядке их добавления.
|
|
14
|
+
- **Интегрированное логирование** — автоматически выводит детали ошибки в консоль.
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Инициализация
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Извлекает элемент обработчика для группы.
|
|
18
|
+
Для создания экземпляра используйте конструктор `ErrorCenterHandler(handlers)`.
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
**Параметры:**
|
|
21
|
+
- `handlers?: ErrorCenterHandlerList` — начальный список обработчиков.
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
```typescript
|
|
24
|
+
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
const handlers = new ErrorCenterHandler([
|
|
27
|
+
{
|
|
28
|
+
group: 'api',
|
|
29
|
+
handlers: [(cause) => console.log('API Error:', cause.code)]
|
|
30
|
+
}
|
|
31
|
+
]);
|
|
32
|
+
```
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
## Методы
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
### Действие
|
|
37
|
+
- `on(cause: ErrorCenterCauseItem): this` — Запускает цепочку обработчиков. Всегда выводит ошибку в консоль через `console.error`.
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
- `
|
|
39
|
+
### Проверка
|
|
40
|
+
- `has(group: ErrorCenterGroup): boolean` — Проверяет, есть ли обработчики для группы.
|
|
41
|
+
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Возвращает список функций для группы.
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
### Конфигурация
|
|
44
|
+
- `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Добавляет одну функцию в группу.
|
|
45
|
+
- `addList(handlers: ErrorCenterHandlerList): this` — Пакетная регистрация обработчиков.
|
|
37
46
|
|
|
38
47
|
## Типы
|
|
39
48
|
|
|
40
|
-
|
|
49
|
+
#### `ErrorCenterGroup`
|
|
50
|
+
Имя группы (`string`) или `undefined` для глобального перехвата.
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
#### `ErrorCenterHandlerCallback`
|
|
53
|
+
Функция обратного вызова: `(cause: ErrorCenterCauseItem) => void`.
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```javascript
|
|
49
|
-
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
55
|
+
#### `ErrorCenterHandlerItem`
|
|
56
|
+
Связка группы и массива её функций.
|
|
57
|
+
- `group?: ErrorCenterGroup` — целевая группа.
|
|
58
|
+
- `handlers: ErrorCenterHandlerCallback[]` — список функций.
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
## Примеры
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
})
|
|
62
|
+
### Изолированный менеджер для модуля
|
|
63
|
+
```typescript
|
|
64
|
+
const uploadHandlers = new ErrorCenterHandler();
|
|
57
65
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
66
|
+
uploadHandlers.add('upload', (cause) => {
|
|
67
|
+
if (cause.code === 'retry') {
|
|
68
|
+
restartUpload();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
62
71
|
|
|
63
|
-
|
|
64
|
-
handlerManager.on({
|
|
65
|
-
group: 'api',
|
|
66
|
-
code: '500',
|
|
67
|
-
message: 'Внутренняя ошибка сервера'
|
|
68
|
-
})
|
|
72
|
+
uploadHandlers.on({ group: 'upload', code: 'retry' });
|
|
69
73
|
```
|
package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.vi.mdx
CHANGED
|
@@ -2,68 +2,72 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/vi/functional-basic/Classes/ErrorCenterHandler - Quản lý trình xử lý'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterHandler
|
|
5
|
+
# Lớp ErrorCenterHandler
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenterHandler` là trình quản lý để quản lý các hàm callback (trình xử lý). Nó cho phép bạn liên kết logic với các nhóm lỗi cụ thể và thực thi nó khi có sự kiện tương ứng xảy ra.
|
|
8
8
|
|
|
9
9
|
## Các tính năng chính
|
|
10
10
|
|
|
11
|
-
- **Đăng ký trình xử lý** —
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
- **Tích hợp ghi nhật ký** — Tự động xuất chi tiết lỗi ra console trình duyệt.
|
|
11
|
+
- **Đăng ký trình xử lý** — thêm thuận tiện các hàm callback vào các nhóm cụ thể.
|
|
12
|
+
- **Trình xử lý toàn cục** — hỗ trợ nhóm `undefined`, nhóm này bắt bất kỳ lỗi nào không có trình xử lý cụ thể.
|
|
13
|
+
- **Thực thi tuần tự** — kích hoạt tất cả các hàm đã đăng ký theo thứ tự chúng được thêm vào.
|
|
14
|
+
- **Ghi log tích hợp** — tự động xuất chi tiết lỗi ra console.
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Khởi tạo
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Truy xuất ánh xạ trình xử lý cho một nhóm.
|
|
18
|
+
Để tạo một thực thể, sử dụng constructor `ErrorCenterHandler(handlers)`.
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
**Tham số:**
|
|
21
|
+
- `handlers?: ErrorCenterHandlerList` — danh sách trình xử lý ban đầu.
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
```typescript
|
|
24
|
+
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
const handlers = new ErrorCenterHandler([
|
|
27
|
+
{
|
|
28
|
+
group: 'api',
|
|
29
|
+
handlers: [(cause) => console.log('Lỗi API:', cause.code)]
|
|
30
|
+
}
|
|
31
|
+
]);
|
|
32
|
+
```
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
## Các phương thức
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
### Hành động
|
|
37
|
+
- `on(cause: ErrorCenterCauseItem): this` — Kích hoạt chuỗi trình xử lý. Luôn xuất lỗi ra console qua `console.error`.
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
- `
|
|
39
|
+
### Xác minh
|
|
40
|
+
- `has(group: ErrorCenterGroup): boolean` — Kiểm tra xem có trình xử lý cho một nhóm không.
|
|
41
|
+
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Trả về danh sách các hàm cho một nhóm.
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
### Cấu hình
|
|
44
|
+
- `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Thêm một hàm vào một nhóm.
|
|
45
|
+
- `addList(handlers: ErrorCenterHandlerList): this` — Đăng ký hàng loạt các trình xử lý.
|
|
37
46
|
|
|
38
47
|
## Các kiểu dữ liệu
|
|
39
48
|
|
|
40
|
-
|
|
49
|
+
#### `ErrorCenterGroup`
|
|
50
|
+
Tên nhóm (`string`) hoặc `undefined` để chặn toàn cục.
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
#### `ErrorCenterHandlerCallback`
|
|
53
|
+
Hàm callback: `(cause: ErrorCenterCauseItem) => void`.
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```javascript
|
|
49
|
-
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
55
|
+
#### `ErrorCenterHandlerItem`
|
|
56
|
+
Liên kết giữa một nhóm và một mảng các hàm của nó.
|
|
57
|
+
- `group?: ErrorCenterGroup` — nhóm mục tiêu.
|
|
58
|
+
- `handlers: ErrorCenterHandlerCallback[]` — danh sách các hàm.
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
## Ví dụ
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
})
|
|
62
|
+
### Trình quản lý cô lập cho một mô-đun
|
|
63
|
+
```typescript
|
|
64
|
+
const uploadHandlers = new ErrorCenterHandler();
|
|
57
65
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
66
|
+
uploadHandlers.add('upload', (cause) => {
|
|
67
|
+
if (cause.code === 'retry') {
|
|
68
|
+
restartUpload();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
62
71
|
|
|
63
|
-
|
|
64
|
-
handlerManager.on({
|
|
65
|
-
group: 'api',
|
|
66
|
-
code: '500',
|
|
67
|
-
message: 'Lỗi máy chủ nội bộ'
|
|
68
|
-
})
|
|
72
|
+
uploadHandlers.on({ group: 'upload', code: 'retry' });
|
|
69
73
|
```
|