lib-utils-ts
Version:
<img src="https://img.shields.io/npm/v/lib-utils-ts"/> <img src="https://img.shields.io/snyk/vulnerabilities/npm/lib-utils-ts"/> <img src="https://img.shields.io/npm/l/lib-utils-ts"/> <img src="https://img.shields.io/github/languages/top/devGnode/lib-util
32 lines (30 loc) • 971 B
text/typescript
/***/
export abstract class Risk {
private static retry:Function[] = Array();
private static consumed:boolean = false;
private static init:boolean = false;
public static failure(failCallback:Function):void{ if(failCallback!=null)Risk.retry.push(failCallback); }
public static resumeFailureLoad():void{
if(Risk.consumed)return;
for(let i = 0; i < Risk.retry.length; i++){
let f:Function = Risk.retry[i];
f();
}
Risk.retry = [];
this.init = true;
}
public static sz():number{return Risk.retry.length;}
public static try(failCallback:Function){
if(this.init)failCallback.call(null);
else {
try {
failCallback.call(null)
} catch (e) {
if (Risk.consumed) throw new Error("");
Risk.failure(failCallback);
}
}
}
private constructor() {}
}
Object.package(this);