Skip to content

Instantly share code, notes, and snippets.

View heartAndRain's full-sized avatar
💭
I may be slow to respond.

Xinyu Li heartAndRain

💭
I may be slow to respond.
View GitHub Profile
@heartAndRain
heartAndRain / CancelableAsyncTask.ts
Created October 23, 2018 07:44
CancelableAsyncTask
export default class CancelableAsyncTask {
private do: (...args: any[]) => Promise<any>;
private running: boolean;
private args: any[];
constructor(doPromise: (...args: any[]) => Promise<any>, ...args: any[]) {
this.do = doPromise;
this.running = false;
this.args = args;
}
private afterTimeDo(
@heartAndRain
heartAndRain / PromiseAPlus.ts
Created March 1, 2021 09:42
Promise A+ TypeScript
enum State {
'pending' = 'pending',
'fulfilled' = 'fulfilled',
'rejected' = 'rejected'
}
type CallbackPayload = {
onFulfilled: (val: any) => any,
onRejected: (reason: any) => any,
resolve: PromiseAPlus['resolve'],