import { Destroyable } from '../base'; import { CancelAndPromise, CancelError, PurePromisesArgs1, PurePromisesArgs2, PurePromisesArgs3, PurePromisesArgs4, PurePromisesArgs5, PurePromisesArgs6, PurePromisesArgs7, PurePromises_Rtn1, PurePromises_Rtn2, PurePromises_Rtn3, PurePromises_Rtn4, PurePromises_Rtn5, PurePromises_Rtn6, PurePromises_Rtn7 } from './types'; /** * 和Processing配套使用的进度启动管理器 * * @example * const processing = new Processing(s => { * const ps = new ProcessingStarter(s); * (async () => { * ps.disposer.dispose(() => console.log(`cm destroyed!`)); * await ps.checkAndPromise(cancelablePromise(Promise.resolve(1))); * console.log(1); * await ps.checkAndPromise(sleep(1000, true)); * console.log(2); * await ps.checkAndPromise(sleep(1000, true)); * // throw new Error(`未知错误!`); * // throw new CancelError(`未知取消错误!`); * console.log(3); * await ps.checkAndPromise(sleep(1000, true)); * console.log(4); * // cm.forceCancel(new CancelError(`我被强制取消!`)); * await ps.checkAndPromise(sleep(1000, true)); * console.log(5); * ps.complete(); * })().catch(ps.error.bind(ps)); * * return () => ps.cancel(); * }); * * processing.start(); * processing.errorFunc = error => console.log(`error: ${error}`); * processing.completeFunc = () => console.log(`completed`); * processing.cancelFunc = () => console.log(`cancel`); * processing.cancelledFunc = cancelError => console.log(`cancelled ${cancelError}`); */ export declare class ProcessingStarter { private _startParams; _cancelled: boolean; _cancelError?: CancelError; _cancelsMap: Map, (cancelError?: CancelError) => void>; _disposer?: Destroyable; constructor(_startParams: { readonly progressFunc: (value: ProgressValueType) => void; readonly completeFunc: (value: CompleteValueType) => void; readonly errorFunc: (error: any) => void; readonly cancelFunc: (cancelError?: CancelError) => Promise | undefined; readonly processingID: number; }); get disposer(): Destroyable; cancel(cancelError?: CancelError): void; check(): void; get cancelFuncsNum(): number; get processingID(): number; promises(...args: PurePromisesArgs1): PurePromises_Rtn1; promises(...args: PurePromisesArgs2): PurePromises_Rtn2; promises(...args: PurePromisesArgs3): PurePromises_Rtn3; promises(...args: PurePromisesArgs4): PurePromises_Rtn4; promises(...args: PurePromisesArgs5): PurePromises_Rtn5; promises(...args: PurePromisesArgs6): PurePromises_Rtn6; promises(...args: PurePromisesArgs7): PurePromises_Rtn7; promises(...args: CancelAndPromise[]): Promise[]; promise(promiseOrCancelAndPromise: CancelAndPromise): Promise; promiseAny(canelAndPromisePairs: CancelAndPromise[]): Promise>; promiseAll(canelAndPromisePairs: CancelAndPromise[]): Promise[]>; promiseRace(canelAndPromisePairs: CancelAndPromise[]): Promise>; checkAndPromises(...args: PurePromisesArgs1): PurePromises_Rtn1; checkAndPromises(...args: PurePromisesArgs2): PurePromises_Rtn2; checkAndPromises(...args: PurePromisesArgs3): PurePromises_Rtn3; checkAndPromises(...args: PurePromisesArgs4): PurePromises_Rtn4; checkAndPromises(...args: PurePromisesArgs5): PurePromises_Rtn5; checkAndPromises(...args: PurePromisesArgs6): PurePromises_Rtn6; checkAndPromises(...args: PurePromisesArgs7): PurePromises_Rtn7; checkAndPromises(...args: CancelAndPromise[]): Promise[]; checkAndPromise(promiseOrCancelAndPromise: CancelAndPromise | Promise): Promise; complete(value: CompleteValueType): void; error(reason: any): void; progressFunc(value: ProgressValueType): void; /** * Processing过程中强制调用cancel!一般情况下不使用! * @param cancelError * @returns */ forceCancel(cancelError?: CancelError): Promise | undefined; }