AsyncAction.d.ts 1.1 KB

1234567891011121314151617181920212223242526272829
  1. import { Action } from './Action';
  2. import { SchedulerAction } from '../types';
  3. import { Subscription } from '../Subscription';
  4. import { AsyncScheduler } from './AsyncScheduler';
  5. /**
  6. * We need this JSDoc comment for affecting ESDoc.
  7. * @ignore
  8. * @extends {Ignored}
  9. */
  10. export declare class AsyncAction<T> extends Action<T> {
  11. protected scheduler: AsyncScheduler;
  12. protected work: (this: SchedulerAction<T>, state?: T) => void;
  13. id: any;
  14. state: T;
  15. delay: number;
  16. protected pending: boolean;
  17. constructor(scheduler: AsyncScheduler, work: (this: SchedulerAction<T>, state?: T) => void);
  18. schedule(state?: T, delay?: number): Subscription;
  19. protected requestAsyncId(scheduler: AsyncScheduler, id?: any, delay?: number): any;
  20. protected recycleAsyncId(scheduler: AsyncScheduler, id: any, delay?: number): any;
  21. /**
  22. * Immediately executes this action and the `work` it contains.
  23. * @return {any}
  24. */
  25. execute(state: T, delay: number): any;
  26. protected _execute(state: T, delay: number): any;
  27. /** @deprecated This is an internal implementation detail, do not use. */
  28. _unsubscribe(): void;
  29. }