@whitesev/utils 2.4.2 → 2.4.3

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.
@@ -4,7 +4,7 @@ declare class Httpx {
4
4
  private GM_Api;
5
5
  private HttpxRequestHook;
6
6
  private HttpxResponseHook;
7
- private HttpxRequestDetails;
7
+ private HttpxRequestOption;
8
8
  private HttpxCallBack;
9
9
  private HttpxRequest;
10
10
  /**
@@ -30,7 +30,7 @@ declare class Httpx {
30
30
  * 添加拦截器
31
31
  * @param fn 设置的请求前回调函数,如果返回配置,则使用返回的配置,如果返回null|undefined,则阻止请求
32
32
  */
33
- use(fn: <T extends Required<HttpxRequestOption>>(details: T) => void | T): string | undefined;
33
+ use(fn: <T extends Required<HttpxRequestOption>>(details: T) => void | T | Promise<void | T>): string | undefined;
34
34
  /**
35
35
  * 移除拦截器
36
36
  * @param id 通过use返回的id
@@ -53,7 +53,7 @@ declare class Httpx {
53
53
  * @param errorFn 设置的响应后回调函数,如果返回响应,则使用返回的响应,如果返回null|undefined,则阻止响应
54
54
  * + 超出 2xx 范围的状态码都会触发该函数
55
55
  */
56
- use(successFn?: <T extends HttpxResponseData<HttpxRequestOption>>(response: T, details: HttpxRequestOption) => void | T, errorFn?: <T extends HttpxHookErrorData>(data: T) => void | T): string | undefined;
56
+ use(successFn?: <T extends HttpxResponseData<HttpxRequestOption>>(response: T, details: HttpxRequestOption) => void | T, errorFn?: <T extends HttpxHookErrorData>(data: T) => void | T | Promise<void | T>): string | undefined;
57
57
  /**
58
58
  * 移除拦截器
59
59
  * @param id 通过use返回的id
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitesev/utils",
3
- "version": "2.4.2",
3
+ "version": "2.4.3",
4
4
  "description": "一个常用的工具库",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
package/src/Httpx.ts CHANGED
@@ -23,7 +23,7 @@ class Httpx {
23
23
  configList: <
24
24
  {
25
25
  id: string;
26
- fn: Function;
26
+ fn: Function | Promise<Function>;
27
27
  }[]
28
28
  >[],
29
29
  },
@@ -33,7 +33,7 @@ class Httpx {
33
33
  * @param details 当前的请求配置
34
34
  * @private
35
35
  */
36
- beforeRequestCallBack(details: HttpxRequestOption) {
36
+ async beforeRequestCallBack(details: HttpxRequestOption) {
37
37
  if (typeof details.allowInterceptConfig === "boolean") {
38
38
  if (!details.allowInterceptConfig) {
39
39
  // 不允许拦截
@@ -58,7 +58,7 @@ class Httpx {
58
58
  for (let index = 0; index < this.$config.configList.length; index++) {
59
59
  let item = this.$config.configList[index];
60
60
  if (typeof item.fn === "function") {
61
- let result = item.fn(details);
61
+ let result = await item.fn(details);
62
62
  if (result == null) {
63
63
  return;
64
64
  }
@@ -114,8 +114,8 @@ class Httpx {
114
114
  configList: <
115
115
  {
116
116
  id: string;
117
- successFn?: Function;
118
- errorFn?: Function;
117
+ successFn?: Function | Promise<Function>;
118
+ errorFn?: Function | Promise<Function>;
119
119
  }[]
120
120
  >[],
121
121
  },
@@ -124,7 +124,7 @@ class Httpx {
124
124
  * @param response 响应
125
125
  * @param details 请求的配置
126
126
  */
127
- successResponseCallBack(
127
+ async successResponseCallBack(
128
128
  response: HttpxResponseData<HttpxRequestOption>,
129
129
  details: HttpxRequestOption
130
130
  ) {
@@ -153,7 +153,8 @@ class Httpx {
153
153
  for (let index = 0; index < this.$config.configList.length; index++) {
154
154
  let item = this.$config.configList[index];
155
155
  if (typeof item.successFn === "function") {
156
- if (item.successFn(response, details) == null) {
156
+ let result = await item.successFn(response, details);
157
+ if (result == null) {
157
158
  return;
158
159
  }
159
160
  }
@@ -166,9 +167,7 @@ class Httpx {
166
167
  * @returns
167
168
  * 返回null|undefined就是拦截掉了
168
169
  */
169
- errorResponseCallBack<T extends HttpxHookErrorData>(
170
- data: T
171
- ): T | null | undefined {
170
+ async errorResponseCallBack<T extends HttpxHookErrorData>(data: T) {
172
171
  if (typeof data.details.allowInterceptConfig === "boolean") {
173
172
  if (!data.details.allowInterceptConfig) {
174
173
  // 不允许拦截
@@ -194,7 +193,8 @@ class Httpx {
194
193
  for (let index = 0; index < this.$config.configList.length; index++) {
195
194
  let item = this.$config.configList[index];
196
195
  if (typeof item.errorFn === "function") {
197
- if (item.errorFn(data) == null) {
196
+ let result = await item.errorFn(data);
197
+ if (result == null) {
198
198
  return;
199
199
  }
200
200
  }
@@ -236,7 +236,7 @@ class Httpx {
236
236
  this.$config.configList = [];
237
237
  },
238
238
  };
239
- private HttpxRequestDetails = {
239
+ private HttpxRequestOption = {
240
240
  context: this,
241
241
  /**
242
242
  * 根据传入的参数处理获取details配置
@@ -670,7 +670,7 @@ class Httpx {
670
670
  * @param reject 抛出错误
671
671
  * @param argsResult 返回的参数列表
672
672
  */
673
- onAbort(
673
+ async onAbort(
674
674
  details: Required<HttpxRequestOption>,
675
675
  resolve: (resultOption: HttpxResponse<HttpxRequestOption>) => void,
676
676
  reject: (...args: any[]) => void,
@@ -687,12 +687,12 @@ class Httpx {
687
687
  response = response[0];
688
688
  }
689
689
  if (
690
- this.context.HttpxResponseHook.errorResponseCallBack({
690
+ (await this.context.HttpxResponseHook.errorResponseCallBack({
691
691
  type: "onabort",
692
692
  error: new TypeError("request canceled"),
693
693
  response: null,
694
694
  details: details,
695
- }) == null
695
+ })) == null
696
696
  ) {
697
697
  // reject(new TypeError("response is intercept with onabort"));
698
698
  return;
@@ -706,7 +706,6 @@ class Httpx {
706
706
  type: "onabort",
707
707
  });
708
708
  },
709
-
710
709
  /**
711
710
  * onerror请求异常-触发
712
711
  * @param details 配置
@@ -714,7 +713,7 @@ class Httpx {
714
713
  * @param reject 抛出错误
715
714
  * @param argsResult 返回的参数列表
716
715
  */
717
- onError(
716
+ async onError(
718
717
  details: Required<HttpxRequestOption>,
719
718
  resolve: (resultOption: HttpxResponse<HttpxRequestOption>) => void,
720
719
  reject: (...args: any[]) => void,
@@ -731,12 +730,12 @@ class Httpx {
731
730
  response = response[0];
732
731
  }
733
732
  if (
734
- this.context.HttpxResponseHook.errorResponseCallBack({
733
+ (await this.context.HttpxResponseHook.errorResponseCallBack({
735
734
  type: "onerror",
736
735
  error: new TypeError("request error"),
737
736
  response: response,
738
737
  details: details,
739
- }) == null
738
+ })) == null
740
739
  ) {
741
740
  // reject(new TypeError("response is intercept with onerror"));
742
741
  return;
@@ -757,7 +756,7 @@ class Httpx {
757
756
  * @param reject 抛出错误
758
757
  * @param argsResult 返回的参数列表
759
758
  */
760
- onTimeout(
759
+ async onTimeout(
761
760
  details: Required<HttpxRequestOption>,
762
761
  resolve: (resultOption: HttpxResponse<HttpxRequestOption>) => void,
763
762
  reject: (...args: any[]) => void,
@@ -774,12 +773,12 @@ class Httpx {
774
773
  response = response[0];
775
774
  }
776
775
  if (
777
- this.context.HttpxResponseHook.errorResponseCallBack({
776
+ (await this.context.HttpxResponseHook.errorResponseCallBack({
778
777
  type: "ontimeout",
779
778
  error: new TypeError("request timeout"),
780
779
  response: (argsResult || [null])[0],
781
780
  details: details,
782
- }) == null
781
+ })) == null
783
782
  ) {
784
783
  // reject(new TypeError("response is intercept with ontimeout"));
785
784
  return;
@@ -814,7 +813,7 @@ class Httpx {
814
813
  * @param reject 抛出错误
815
814
  * @param argsResult 返回的参数列表
816
815
  */
817
- onLoad(
816
+ async onLoad(
818
817
  details: Required<HttpxRequestOption>,
819
818
  resolve: (resultOption: HttpxResponse<HttpxRequestOption>) => void,
820
819
  reject: (...args: any[]) => void,
@@ -907,10 +906,10 @@ class Httpx {
907
906
  /* 状态码2xx都是成功的 */
908
907
  if (Math.floor(originResponse.status / 100) === 2) {
909
908
  if (
910
- this.context.HttpxResponseHook.successResponseCallBack(
909
+ (await this.context.HttpxResponseHook.successResponseCallBack(
911
910
  originResponse,
912
911
  details
913
- ) == null
912
+ )) == null
914
913
  ) {
915
914
  // reject(new TypeError("response is intercept with onloada"));
916
915
  return;
@@ -971,7 +970,7 @@ class Httpx {
971
970
  * 发送请求
972
971
  * @param details
973
972
  */
974
- request(details: Required<HttpxRequestOption>) {
973
+ async request(details: Required<HttpxRequestOption>) {
975
974
  if (this.context.#LOG_DETAILS) {
976
975
  console.log("[Httpx-HttpxRequest.request] 请求前的配置👇", details);
977
976
  }
@@ -980,7 +979,7 @@ class Httpx {
980
979
  "function"
981
980
  ) {
982
981
  let hookResult =
983
- this.context.HttpxRequestHook.beforeRequestCallBack(details);
982
+ await this.context.HttpxRequestHook.beforeRequestCallBack(details);
984
983
  if (hookResult == null) {
985
984
  return;
986
985
  }
@@ -991,7 +990,7 @@ class Httpx {
991
990
  fetchOption: fetchOption,
992
991
  fetchRequestOption: fetchRequestOption,
993
992
  abortController,
994
- } = this.context.HttpxRequestDetails.handleFetchOption(details);
993
+ } = this.context.HttpxRequestOption.handleFetchOption(details);
995
994
  return this.fetch(fetchOption, fetchRequestOption, abortController);
996
995
  } else {
997
996
  // 使用GM_xmlHttpRequest请求
@@ -1226,7 +1225,7 @@ class Httpx {
1226
1225
  /**
1227
1226
  * 拦截器
1228
1227
  */
1229
- public interceptors = {
1228
+ interceptors = {
1230
1229
  /**
1231
1230
  * 请求拦截器
1232
1231
  */
@@ -1237,7 +1236,9 @@ class Httpx {
1237
1236
  * @param fn 设置的请求前回调函数,如果返回配置,则使用返回的配置,如果返回null|undefined,则阻止请求
1238
1237
  */
1239
1238
  use(
1240
- fn: <T extends Required<HttpxRequestOption>>(details: T) => void | T
1239
+ fn: <T extends Required<HttpxRequestOption>>(
1240
+ details: T
1241
+ ) => void | T | Promise<void | T>
1241
1242
  ) {
1242
1243
  if (typeof fn !== "function") {
1243
1244
  console.warn("[Httpx-interceptors-request] 请传入拦截器函数");
@@ -1276,7 +1277,9 @@ class Httpx {
1276
1277
  response: T,
1277
1278
  details: HttpxRequestOption
1278
1279
  ) => void | T,
1279
- errorFn?: <T extends HttpxHookErrorData>(data: T) => void | T
1280
+ errorFn?: <T extends HttpxHookErrorData>(
1281
+ data: T
1282
+ ) => void | T | Promise<void | T>
1280
1283
  ) {
1281
1284
  if (typeof successFn !== "function" && typeof errorFn !== "function") {
1282
1285
  console.warn("[Httpx-interceptors-response] 必须传入一个拦截器函数");
@@ -1310,14 +1313,14 @@ class Httpx {
1310
1313
  * GET 请求
1311
1314
  * @param url 网址
1312
1315
  */
1313
- async get<T extends HttpxRequestOption>(
1316
+ get<T extends HttpxRequestOption>(
1314
1317
  url: string // @ts-ignore
1315
1318
  ): HttpxPromise<HttpxResponse<T>>;
1316
1319
  /**
1317
1320
  * GET 请求
1318
1321
  * @param details 配置
1319
1322
  */
1320
- async get<T extends HttpxRequestOption>(
1323
+ get<T extends HttpxRequestOption>(
1321
1324
  details: T // @ts-ignore
1322
1325
  ): HttpxPromise<HttpxResponse<T>>;
1323
1326
  /**
@@ -1325,7 +1328,7 @@ class Httpx {
1325
1328
  * @param url 网址
1326
1329
  * @param details 配置
1327
1330
  */
1328
- async get<T extends HttpxRequestOption>(
1331
+ get<T extends HttpxRequestOption>(
1329
1332
  url: string,
1330
1333
  details: T // @ts-ignore
1331
1334
  ): HttpxPromise<HttpxResponse<T>>;
@@ -1334,24 +1337,24 @@ class Httpx {
1334
1337
  * @param url 网址
1335
1338
  * @param details 配置
1336
1339
  */
1337
- async get(
1340
+ get(
1338
1341
  ...args: (string | HttpxRequestOption)[] // @ts-ignore
1339
1342
  ): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
1340
- let userRequestOption = this.HttpxRequestDetails.handleBeforeRequestOption(
1343
+ let userRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
1341
1344
  ...args
1342
1345
  );
1343
1346
  let abortFn: Function | null = null;
1344
1347
  let promise = new globalThis.Promise<HttpxResponse<HttpxRequestOption>>(
1345
- (resolve, reject) => {
1346
- let requestOption = this.HttpxRequestDetails.getRequestOption(
1348
+ async (resolve, reject) => {
1349
+ let requestOption = this.HttpxRequestOption.getRequestOption(
1347
1350
  "GET",
1348
1351
  userRequestOption,
1349
1352
  resolve,
1350
1353
  reject
1351
1354
  );
1352
1355
  Reflect.deleteProperty(requestOption, "onprogress");
1353
- this.HttpxRequestDetails.removeRequestNullOption(requestOption);
1354
- const requestResult = this.HttpxRequest.request(requestOption);
1356
+ this.HttpxRequestOption.removeRequestNullOption(requestOption);
1357
+ const requestResult = await this.HttpxRequest.request(requestOption);
1355
1358
  if (
1356
1359
  requestResult != null &&
1357
1360
  typeof requestResult.abort === "function"
@@ -1366,20 +1369,21 @@ class Httpx {
1366
1369
  abortFn();
1367
1370
  }
1368
1371
  };
1372
+ // @ts-ignore
1369
1373
  return promise;
1370
1374
  }
1371
1375
  /**
1372
1376
  * POST 请求
1373
1377
  * @param details 配置
1374
1378
  */
1375
- async post<T extends HttpxRequestOption>(
1379
+ post<T extends HttpxRequestOption>(
1376
1380
  details: T // @ts-ignore
1377
1381
  ): HttpxPromise<HttpxResponse<T>>;
1378
1382
  /**
1379
1383
  * POST 请求
1380
1384
  * @param url 网址
1381
1385
  */
1382
- async post<T extends HttpxRequestOption>(
1386
+ post<T extends HttpxRequestOption>(
1383
1387
  url: string
1384
1388
  ): // @ts-ignore
1385
1389
  HttpxPromise<HttpxResponse<T>>;
@@ -1388,23 +1392,23 @@ class Httpx {
1388
1392
  * @param url 网址
1389
1393
  * @param details 配置
1390
1394
  */
1391
- async post<T extends HttpxRequestOption>(
1395
+ post<T extends HttpxRequestOption>(
1392
1396
  url: string,
1393
1397
  details: T // @ts-ignore
1394
1398
  ): HttpxPromise<HttpxResponse<T>>;
1395
1399
  /**
1396
1400
  * POST 请求
1397
1401
  */
1398
- async post(
1402
+ post(
1399
1403
  ...args: (HttpxRequestOption | string)[] // @ts-ignore
1400
1404
  ): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
1401
- let userRequestOption = this.HttpxRequestDetails.handleBeforeRequestOption(
1405
+ let userRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
1402
1406
  ...args
1403
1407
  );
1404
1408
  let abortFn: Function | null = null;
1405
1409
  let promise = new Promise<HttpxResponse<HttpxRequestOption>>(
1406
- (resolve, reject) => {
1407
- let requestOption = this.HttpxRequestDetails.getRequestOption(
1410
+ async (resolve, reject) => {
1411
+ let requestOption = this.HttpxRequestOption.getRequestOption(
1408
1412
  "POST",
1409
1413
  userRequestOption,
1410
1414
  resolve,
@@ -1412,8 +1416,8 @@ class Httpx {
1412
1416
  );
1413
1417
  // @ts-ignore
1414
1418
  requestOption =
1415
- this.HttpxRequestDetails.removeRequestNullOption(requestOption);
1416
- const requestResult = this.HttpxRequest.request(requestOption);
1419
+ this.HttpxRequestOption.removeRequestNullOption(requestOption);
1420
+ const requestResult = await this.HttpxRequest.request(requestOption);
1417
1421
  if (
1418
1422
  requestResult != null &&
1419
1423
  typeof requestResult.abort === "function"
@@ -1428,20 +1432,21 @@ class Httpx {
1428
1432
  abortFn();
1429
1433
  }
1430
1434
  };
1435
+ // @ts-ignore
1431
1436
  return promise;
1432
1437
  }
1433
1438
  /**
1434
1439
  * HEAD 请求
1435
1440
  * @param details 配置
1436
1441
  */
1437
- async head<T extends HttpxRequestOption>(
1442
+ head<T extends HttpxRequestOption>(
1438
1443
  details: T // @ts-ignore
1439
1444
  ): HttpxPromise<HttpxResponse<T>>;
1440
1445
  /**
1441
1446
  * HEAD 请求
1442
1447
  * @param url 网址
1443
1448
  */
1444
- async head<T extends HttpxRequestOption>(
1449
+ head<T extends HttpxRequestOption>(
1445
1450
  url: string // @ts-ignore
1446
1451
  ): HttpxPromise<HttpxResponse<T>>;
1447
1452
  /**
@@ -1449,23 +1454,23 @@ class Httpx {
1449
1454
  * @param url 网址
1450
1455
  * @param details 配置
1451
1456
  */
1452
- async head<T extends HttpxRequestOption>(
1457
+ head<T extends HttpxRequestOption>(
1453
1458
  url: string,
1454
1459
  details: T // @ts-ignore
1455
1460
  ): HttpxPromise<HttpxResponse<T>>;
1456
1461
  /**
1457
1462
  * HEAD 请求
1458
1463
  */
1459
- async head(
1464
+ head(
1460
1465
  ...args: (HttpxRequestOption | string)[] // @ts-ignore
1461
1466
  ): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
1462
- let userRequestOption = this.HttpxRequestDetails.handleBeforeRequestOption(
1467
+ let userRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
1463
1468
  ...args
1464
1469
  );
1465
1470
  let abortFn: Function | null = null;
1466
1471
  let promise = new Promise<HttpxResponse<HttpxRequestOption>>(
1467
- (resolve, reject) => {
1468
- let requestOption = this.HttpxRequestDetails.getRequestOption(
1472
+ async (resolve, reject) => {
1473
+ let requestOption = this.HttpxRequestOption.getRequestOption(
1469
1474
  "HEAD",
1470
1475
  userRequestOption,
1471
1476
  resolve,
@@ -1474,8 +1479,8 @@ class Httpx {
1474
1479
  Reflect.deleteProperty(requestOption, "onprogress");
1475
1480
  // @ts-ignore
1476
1481
  requestOption =
1477
- this.HttpxRequestDetails.removeRequestNullOption(requestOption);
1478
- const requestResult = this.HttpxRequest.request(requestOption);
1482
+ this.HttpxRequestOption.removeRequestNullOption(requestOption);
1483
+ const requestResult = await this.HttpxRequest.request(requestOption);
1479
1484
  if (
1480
1485
  requestResult != null &&
1481
1486
  typeof requestResult.abort === "function"
@@ -1491,9 +1496,9 @@ class Httpx {
1491
1496
  abortFn();
1492
1497
  }
1493
1498
  };
1499
+ // @ts-ignore
1494
1500
  return promise;
1495
1501
  }
1496
-
1497
1502
  /**
1498
1503
  * OPTIONS 请求
1499
1504
  * @param details 配置
@@ -1520,16 +1525,16 @@ class Httpx {
1520
1525
  /**
1521
1526
  * OPTIONS 请求
1522
1527
  */
1523
- async options(
1528
+ options(
1524
1529
  ...args: (HttpxRequestOption | string)[] // @ts-ignore
1525
1530
  ): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
1526
- let userRequestOption = this.HttpxRequestDetails.handleBeforeRequestOption(
1531
+ let userRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
1527
1532
  ...args
1528
1533
  );
1529
1534
  let abortFn: Function | null = null;
1530
1535
  let promise = new Promise<HttpxResponse<HttpxRequestOption>>(
1531
- (resolve, reject) => {
1532
- let requestOption = this.HttpxRequestDetails.getRequestOption(
1536
+ async (resolve, reject) => {
1537
+ let requestOption = this.HttpxRequestOption.getRequestOption(
1533
1538
  "OPTIONS",
1534
1539
  userRequestOption,
1535
1540
  resolve,
@@ -1538,8 +1543,8 @@ class Httpx {
1538
1543
  Reflect.deleteProperty(requestOption, "onprogress");
1539
1544
  // @ts-ignore
1540
1545
  requestOption =
1541
- this.HttpxRequestDetails.removeRequestNullOption(requestOption);
1542
- const requestResult = this.HttpxRequest.request(requestOption);
1546
+ this.HttpxRequestOption.removeRequestNullOption(requestOption);
1547
+ const requestResult = await this.HttpxRequest.request(requestOption);
1543
1548
  if (
1544
1549
  requestResult != null &&
1545
1550
  typeof requestResult.abort === "function"
@@ -1554,6 +1559,7 @@ class Httpx {
1554
1559
  abortFn();
1555
1560
  }
1556
1561
  };
1562
+ // @ts-ignore
1557
1563
  return promise;
1558
1564
  }
1559
1565
 
@@ -1561,14 +1567,14 @@ class Httpx {
1561
1567
  * DELETE 请求
1562
1568
  * @param details 配置
1563
1569
  */
1564
- async delete<T extends HttpxRequestOption>(
1570
+ delete<T extends HttpxRequestOption>(
1565
1571
  details: T // @ts-ignore
1566
1572
  ): HttpxPromise<HttpxResponse<T>>;
1567
1573
  /**
1568
1574
  * DELETE 请求
1569
1575
  * @param url 网址
1570
1576
  */
1571
- async delete<T extends HttpxRequestOption>(
1577
+ delete<T extends HttpxRequestOption>(
1572
1578
  url: string // @ts-ignore
1573
1579
  ): HttpxPromise<HttpxResponse<T>>;
1574
1580
  /**
@@ -1576,23 +1582,23 @@ class Httpx {
1576
1582
  * @param url 网址
1577
1583
  * @param details 配置
1578
1584
  */
1579
- async delete<T extends HttpxRequestOption>(
1585
+ delete<T extends HttpxRequestOption>(
1580
1586
  url: string,
1581
1587
  details: T // @ts-ignore
1582
1588
  ): HttpxPromise<HttpxResponse<T>>;
1583
1589
  /**
1584
1590
  * DELETE 请求
1585
1591
  */
1586
- async delete(
1592
+ delete(
1587
1593
  ...args: (HttpxRequestOption | string)[] // @ts-ignore
1588
1594
  ): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
1589
- let userRequestOption = this.HttpxRequestDetails.handleBeforeRequestOption(
1595
+ let userRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
1590
1596
  ...args
1591
1597
  );
1592
1598
  let abortFn: Function | null = null;
1593
1599
  let promise = new Promise<HttpxResponse<HttpxRequestOption>>(
1594
- (resolve, reject) => {
1595
- let requestOption = this.HttpxRequestDetails.getRequestOption(
1600
+ async (resolve, reject) => {
1601
+ let requestOption = this.HttpxRequestOption.getRequestOption(
1596
1602
  "DELETE",
1597
1603
  userRequestOption,
1598
1604
  resolve,
@@ -1601,8 +1607,8 @@ class Httpx {
1601
1607
  Reflect.deleteProperty(requestOption, "onprogress");
1602
1608
  // @ts-ignore
1603
1609
  requestOption =
1604
- this.HttpxRequestDetails.removeRequestNullOption(requestOption);
1605
- const requestResult = this.HttpxRequest.request(requestOption);
1610
+ this.HttpxRequestOption.removeRequestNullOption(requestOption);
1611
+ const requestResult = await this.HttpxRequest.request(requestOption);
1606
1612
  if (
1607
1613
  requestResult != null &&
1608
1614
  typeof requestResult.abort === "function"
@@ -1618,6 +1624,7 @@ class Httpx {
1618
1624
  abortFn();
1619
1625
  }
1620
1626
  };
1627
+ // @ts-ignore
1621
1628
  return promise;
1622
1629
  }
1623
1630
 
@@ -1625,14 +1632,14 @@ class Httpx {
1625
1632
  * PUT 请求
1626
1633
  * @param details 配置
1627
1634
  */
1628
- async put<T extends HttpxRequestOption>(
1635
+ put<T extends HttpxRequestOption>(
1629
1636
  details: T // @ts-ignore
1630
1637
  ): HttpxPromise<HttpxResponse<T>>;
1631
1638
  /**
1632
1639
  * PUT 请求
1633
1640
  * @param url 网址
1634
1641
  */
1635
- async put<T extends HttpxRequestOption>(
1642
+ put<T extends HttpxRequestOption>(
1636
1643
  url: string // @ts-ignore
1637
1644
  ): HttpxPromise<HttpxResponse<T>>;
1638
1645
  /**
@@ -1640,23 +1647,23 @@ class Httpx {
1640
1647
  * @param url 网址
1641
1648
  * @param details 配置
1642
1649
  */
1643
- async put<T extends HttpxRequestOption>(
1650
+ put<T extends HttpxRequestOption>(
1644
1651
  url: string,
1645
1652
  details: T // @ts-ignore
1646
1653
  ): HttpxPromise<HttpxResponse<T>>;
1647
1654
  /**
1648
1655
  * PUT 请求
1649
1656
  */
1650
- async put(
1657
+ put(
1651
1658
  ...args: (HttpxRequestOption | string)[] // @ts-ignore
1652
1659
  ): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
1653
- let userRequestOption = this.HttpxRequestDetails.handleBeforeRequestOption(
1660
+ let userRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
1654
1661
  ...args
1655
1662
  );
1656
1663
  let abortFn: Function | null = null;
1657
1664
  let promise = new Promise<HttpxResponse<HttpxRequestOption>>(
1658
- (resolve, reject) => {
1659
- let requestOption = this.HttpxRequestDetails.getRequestOption(
1665
+ async (resolve, reject) => {
1666
+ let requestOption = this.HttpxRequestOption.getRequestOption(
1660
1667
  "PUT",
1661
1668
  userRequestOption,
1662
1669
  resolve,
@@ -1664,8 +1671,8 @@ class Httpx {
1664
1671
  );
1665
1672
  // @ts-ignore
1666
1673
  requestOption =
1667
- this.HttpxRequestDetails.removeRequestNullOption(requestOption);
1668
- const requestResult = this.HttpxRequest.request(requestOption);
1674
+ this.HttpxRequestOption.removeRequestNullOption(requestOption);
1675
+ const requestResult = await this.HttpxRequest.request(requestOption);
1669
1676
  if (
1670
1677
  requestResult != null &&
1671
1678
  typeof requestResult.abort === "function"
@@ -1680,6 +1687,7 @@ class Httpx {
1680
1687
  abortFn();
1681
1688
  }
1682
1689
  };
1690
+ // @ts-ignore
1683
1691
  return promise;
1684
1692
  }
1685
1693
  }
package/src/Utils.ts CHANGED
@@ -29,7 +29,7 @@ class Utils {
29
29
  this.windowApi = new WindowApi(option);
30
30
  }
31
31
  /** 版本号 */
32
- version = "2024.10.29";
32
+ version = "2024.10.31";
33
33
 
34
34
  /**
35
35
  * 在页面中增加style元素,如果html节点存在子节点,添加子节点第一个,反之,添加到html节点的子节点最后一个