2
0

v3-define-async-component.d.ts 659 B

1234567891011121314151617181920212223242526
  1. import { AsyncComponent, Component } from './options'
  2. export type AsyncComponentResolveResult<T = Component> = T | { default: T } // es modules
  3. export type AsyncComponentLoader<T = any> = () => Promise<
  4. AsyncComponentResolveResult<T>
  5. >
  6. export interface AsyncComponentOptions {
  7. loader: AsyncComponentLoader
  8. loadingComponent?: Component
  9. errorComponent?: Component
  10. delay?: number
  11. timeout?: number
  12. // suspensible?: boolean
  13. onError?: (
  14. error: Error,
  15. retry: () => void,
  16. fail: () => void,
  17. attempts: number
  18. ) => any
  19. }
  20. export function defineAsyncComponent(
  21. source: AsyncComponentLoader | AsyncComponentOptions
  22. ): AsyncComponent