##// END OF EJS Templates
working on core/Cancellation
working on core/Cancellation

File last commit:

r13:745612edbd74 propose cancellat...
r17:b8fc13e5c702 propose cancellat...
Show More
AsyncComponent.ts
16 lines | 531 B | video/mp2t | TypeScriptLexer
import { Cancellation } from "../Cancellation";
import { IAsyncComponent, ICancellation } from "../interfaces";
export class AsyncComponent implements IAsyncComponent {
_completion: Promise<void> = Promise.resolve();
getCompletion() { return this._completion };
runOperation(op: (ct: ICancellation) => any, ct: ICancellation = Cancellation.none) {
// TODO create cancellation source here
async function guard() {
await op(ct);
}
return this._completion = guard();
}
}