pixuireactcomponents 1.3.39 → 1.3.41

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/index.d.ts CHANGED
@@ -8,5 +8,6 @@ export { GradientText } from "./src/components/react/base/gradient/GradientText"
8
8
  export { PVideo } from "./src/components/react/base/pixVideo/PixVideo";
9
9
  export { OutlineText } from "./src/components/react/base/outlinetext/OutlineText";
10
10
  export { FrameAnimation } from "./src/components/react/app/frameAnimation/FrameAnimation";
11
+ export { AsyncTaskProcessor } from "./src/components/tools/AsyncTaskProcessor";
11
12
  export { Slider, SliderProps } from "./src/components/react/app/slider/Slider";
12
13
  export { ImgPreLoader, PreLoadPic } from "./src/components/tools/ImgPreLoader";
package/index.js CHANGED
@@ -11,3 +11,4 @@ export { PVideo } from './src/components/react/base/pixVideo/PixVideo';
11
11
  export { OutlineText } from './src/components/react/base/outlinetext/OutlineText';
12
12
  export { FrameAnimation } from './src/components/react/app/frameAnimation/FrameAnimation';
13
13
  export { ImgPreLoader, PreLoadPic } from './src/components/tools/ImgPreLoader';
14
+ export { AsyncTaskProcessor } from './src/components/tools/AsyncTaskProcessor';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixuireactcomponents",
3
- "version": "1.3.39",
3
+ "version": "1.3.41",
4
4
  "description": "pixui react components",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,6 @@
1
+ declare class TaskProcessor {
2
+ private taskQueue;
3
+ enqueueTask(task: () => Promise<any>): Promise<any>;
4
+ }
5
+ export declare const AsyncTaskProcessor: TaskProcessor;
6
+ export {};
@@ -0,0 +1,53 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var TaskProcessor = /** @class */ (function () {
38
+ function TaskProcessor() {
39
+ this.taskQueue = Promise.resolve();
40
+ }
41
+ TaskProcessor.prototype.enqueueTask = function (task) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var result;
44
+ return __generator(this, function (_a) {
45
+ result = this.taskQueue.then(task);
46
+ this.taskQueue = result.catch(function () { });
47
+ return [2 /*return*/, result];
48
+ });
49
+ });
50
+ };
51
+ return TaskProcessor;
52
+ }());
53
+ export var AsyncTaskProcessor = new TaskProcessor();
@@ -37,6 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  import { h } from 'preact';
38
38
  import { useState, useEffect } from 'preact/hooks';
39
39
  import { utils } from './utils';
40
+ import { AsyncTaskProcessor } from './AsyncTaskProcessor';
40
41
  export function ImgPreLoader() { }
41
42
  /**
42
43
  * 预加载一个png,jpg的url
@@ -110,17 +111,19 @@ export var PreLoadPic = function (props) {
110
111
  console.log('PicComp---', url, usePreload);
111
112
  useEffect(function () {
112
113
  if (usePreload) {
113
- getPreLoadUrl(url).then(function (__url) {
114
- if (!loaded) {
115
- console.log('PicComp-- 没有onload,使用cookie结果', url, __url.substring(0, 1000));
116
- setUrl(__url);
117
- }
118
- else {
119
- console.log('PicComp-- onLoaded,跳过cookie', url);
120
- }
114
+ AsyncTaskProcessor.enqueueTask(function () {
115
+ return getPreLoadUrl(url).then(function (__url) {
116
+ if (!loaded) {
117
+ console.log('PicComp-- 没有onload,使用cookie结果', url, __url.substring(0, 1000));
118
+ setUrl(__url);
119
+ }
120
+ else {
121
+ console.log('PicComp-- onLoaded,跳过cookie', url);
122
+ }
123
+ });
121
124
  });
122
125
  }
123
- }, []);
126
+ }, [url]);
124
127
  return (h("img", { src: _url, style: { width: width, height: height }, className: className, onClick: onClick, onLoad: function () {
125
128
  setLoaded(true);
126
129
  } }));