Vue 的异步组件和 Suspense 怎么用?

异步组件:用 defineAsyncComponent 懒加载,常配合 loading/error 状态:

import { defineAsyncComponent } from 'vue'
const AsyncComp = defineAsyncComponent({
  loader: () => import('./Heavy.vue'),
  loadingComponent: Loading,
  errorComponent: ErrorComp,
  delay: 200, timeout: 3000
})

Suspense:等待其下「异步 setup / async 组件」就绪后再渲染,提供 #fallback 插槽:

<Suspense>
  <template #default><AsyncUser /></template>
  <template #fallback><Spinner /></template>
</Suspense>

异步组件的 loader 返回 Promise(通常是动态 import);Suspense 负责统一"等待多个异步依赖"。

同分类其他题目