Skip to content

Commit

Permalink
feat: 增加 throwOnError 选项
Browse files Browse the repository at this point in the history
  • Loading branch information
wang.kangning committed Oct 10, 2023
1 parent 3226c44 commit 36b16e3
Show file tree
Hide file tree
Showing 14 changed files with 92 additions and 31 deletions.
8 changes: 8 additions & 0 deletions packages/antd-plus/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @orca-fe/painter

## 0.3.5

### Patch Changes

- Updated dependencies
- @orca-fe/hooks@1.10.0
- @orca-fe/pocket@3.2.6

## 0.3.4

### Patch Changes
Expand Down
6 changes: 3 additions & 3 deletions packages/antd-plus/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@orca-fe/antd-plus",
"version": "0.3.4",
"version": "0.3.5",
"description": "Transformer Container",
"keywords": [
"react",
Expand Down Expand Up @@ -36,9 +36,9 @@
"clear": "rimraf lib es"
},
"dependencies": {
"@orca-fe/hooks": "^1.9.2",
"@orca-fe/hooks": "^1.10.0",
"@orca-fe/jss-plugin-auto-prefix": "^0.0.1",
"@orca-fe/pocket": "^3.2.5",
"@orca-fe/pocket": "^3.2.6",
"@orca-fe/simple-jss": "^0.0.3",
"@orca-fe/tools": "^0.10.0",
"ahooks": "^3.7.8",
Expand Down
6 changes: 6 additions & 0 deletions packages/hooks/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @orca-fe/hooks

## 1.10.0

### Minor Changes

- feat: 增加 throwOnError 选项

## 1.9.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/hooks/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@orca-fe/hooks",
"version": "1.9.2",
"version": "1.10.0",
"description": "React Hooks Collections",
"keywords": [
"react",
Expand Down
25 changes: 20 additions & 5 deletions packages/hooks/src/useService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ export interface ContextOptions {

/** 如果请求失败,是否维持之前的结果,默认为 true */
keepSuccessData?: boolean;

/** 如果請求的結果是 Error 則視為拋出異常。 */
throwOnError?: boolean;
}

export const UseServiceContext = React.createContext<ContextOptions>({});
Expand Down Expand Up @@ -138,6 +141,7 @@ export function useService<Args extends any[], ServiceResult = any, Result = Fet
pollingWhenHidden = false,
stateMgr,
onFinish,
throwOnError = true,
} = { ...globalOptions, ...options };

const service = useMemoizedFn(_service);
Expand Down Expand Up @@ -190,6 +194,9 @@ export function useService<Args extends any[], ServiceResult = any, Result = Fet
try {
const res = await service(...args);
let formattedData = formatter(res) as Result | undefined;
if (throwOnError && formattedData instanceof Error) {
throw formattedData;
}
if (keepSuccessData && formattedData == null) {
formattedData = data;
}
Expand Down Expand Up @@ -220,11 +227,19 @@ export function useService<Args extends any[], ServiceResult = any, Result = Fet
console.error(error);
if (_this.ticket === ticket) {
_this.loading = false;
setState({
data: undefined,
error,
loading: false,
});
if (keepSuccessData) {
setState({
error,
loading: false,
});
} else {
setState({
error,
loading: false,
data: undefined,
});
}

if (typeof onError === 'function') {
onError(error, args);
}
Expand Down
9 changes: 9 additions & 0 deletions packages/painter/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @orca-fe/painter

## 1.4.40

### Patch Changes

- Updated dependencies
- @orca-fe/hooks@1.10.0
- @orca-fe/pocket@3.2.6
- @orca-fe/transformer@0.3.26

## 1.4.39

### Patch Changes
Expand Down
8 changes: 4 additions & 4 deletions packages/painter/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@orca-fe/painter",
"version": "1.4.39",
"version": "1.4.40",
"description": "Konva Painter",
"keywords": [
"react",
Expand Down Expand Up @@ -37,17 +37,17 @@
"clear": "rimraf lib es"
},
"dependencies": {
"@orca-fe/hooks": "^1.9.2",
"@orca-fe/hooks": "^1.10.0",
"@orca-fe/jss-plugin-auto-prefix": "^0.0.1",
"@orca-fe/pocket": "^3.2.5",
"@orca-fe/pocket": "^3.2.6",
"@orca-fe/simple-jss": "^0.0.3",
"@orca-fe/tools": "^0.10.0",
"ahooks": "^3.7.8",
"classnames": "^2.3.2",
"color": "^4.2.3",
"react-colorful": "^5.6.1",
"tslib": "^2.6.0",
"@orca-fe/transformer": "^0.3.25"
"@orca-fe/transformer": "^0.3.26"
},
"peerDependencies": {
"@ant-design/icons": "^4.7.0",
Expand Down
9 changes: 9 additions & 0 deletions packages/pdf-viewer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @orca-fe/pdf-viewer

## 1.19.4

### Patch Changes

- Updated dependencies
- @orca-fe/hooks@1.10.0
- @orca-fe/painter@1.4.40
- @orca-fe/pocket@3.2.6

## 1.19.3

### Patch Changes
Expand Down
8 changes: 4 additions & 4 deletions packages/pdf-viewer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@orca-fe/pdf-viewer",
"version": "1.19.3",
"version": "1.19.4",
"description": "PDF Viewer",
"keywords": [
"react",
Expand Down Expand Up @@ -38,11 +38,11 @@
"clear": "rimraf lib es"
},
"dependencies": {
"@orca-fe/hooks": "^1.9.2",
"@orca-fe/hooks": "^1.10.0",
"@orca-fe/jss-plugin-auto-prefix": "^0.0.1",
"@orca-fe/painter": "^1.4.39",
"@orca-fe/painter": "^1.4.40",
"@orca-fe/pdfjs-dist-browserify": "^3.8.24",
"@orca-fe/pocket": "^3.2.5",
"@orca-fe/pocket": "^3.2.6",
"@orca-fe/simple-jss": "^0.0.3",
"@orca-fe/tools": "^0.10.0",
"ahooks": "^3.7.8",
Expand Down
7 changes: 7 additions & 0 deletions packages/pocket/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @orca-fe/pocket

## 3.2.6

### Patch Changes

- Updated dependencies
- @orca-fe/hooks@1.10.0

## 3.2.5

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/pocket/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@orca-fe/pocket",
"version": "3.2.5",
"version": "3.2.6",
"description": "UI components by orca-team",
"keywords": [
"react",
Expand Down Expand Up @@ -39,7 +39,7 @@
"clear": "rimraf lib es"
},
"dependencies": {
"@orca-fe/hooks": "^1.9.2",
"@orca-fe/hooks": "^1.10.0",
"@orca-fe/jss-plugin-auto-prefix": "^0.0.1",
"@orca-fe/tools": "^0.10.0",
"@rc-component/trigger": "^1.13.3",
Expand Down
7 changes: 7 additions & 0 deletions packages/transformer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @orca-fe/painter

## 0.3.26

### Patch Changes

- Updated dependencies
- @orca-fe/hooks@1.10.0

## 0.3.25

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/transformer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@orca-fe/transformer",
"version": "0.3.25",
"version": "0.3.26",
"description": "Transformer Container",
"keywords": [
"react",
Expand Down Expand Up @@ -42,7 +42,7 @@
"gl-matrix": "^3.4.3",
"prefix-classnames": "^0.0.7",
"tslib": "^2.6.0",
"@orca-fe/hooks": "^1.9.2",
"@orca-fe/hooks": "^1.10.0",
"@orca-fe/tools": "^0.10.0"
},
"peerDependencies": {
Expand Down
20 changes: 10 additions & 10 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 comment on commit 36b16e3

@vercel
Copy link

@vercel vercel bot commented on 36b16e3 Oct 10, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.