-
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathlaunch.ts
28 lines (26 loc) · 1016 Bytes
/
launch.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const SSWInitialHelper = {
initialStatus: 0, // 0=default 1=pending 2=succeed
initialSucceedCallbackQueue: [] as Function[]
};
const launch = function () {
return new Promise((resolve, _) => {
if (SSWInitialHelper.initialStatus === 0) {
SSWInitialHelper.initialStatus = 1;
const wasm = import("soft-skia-wasm/soft_skia_wasm.js");
wasm.then((ssw) => {
ssw.default().then(() => {
window.ssw = ssw;
while (SSWInitialHelper.initialSucceedCallbackQueue.length) {
SSWInitialHelper.initialSucceedCallbackQueue.pop()();
}
resolve(void 0)
})
})
} else if (SSWInitialHelper.initialStatus === 1) {
SSWInitialHelper.initialSucceedCallbackQueue.push(() => resolve(void 0));
} else if (SSWInitialHelper.initialStatus === 2) {
resolve(void 0)
}
});
}
export default launch;