# useScript

注入 script 脚本，组件卸载时自动移除脚本

## Usage

```vue
<script setup lang="ts">
  import { useScript } from '@eciol/hooks';
  const BAI_DU_MAP_URL =
    'https://api.map.baidu.com/getscript?v=3.0&ak=NK5WCWSIM30lF1GkGHLNDIWst7CHHtW2=&t=20210201100830&s=1';
  const { toPromise } = useScript({ src: BAI_DU_MAP_URL });
  onMounted(async () => {
    await toPromise();
    // 等待脚本加载之后do something
  });
</script>
```

## Type Declarations

```ts
interface ScriptOptions {
  /**
   * @description 脚本地址
   */
  src: string;
}
declare function useScript(opts: ScriptOptions): {
  /**
   * @description 是否加载中
   */
  isLoading: Ref<boolean>;
  /**
   * @description 加载失败
   */
  error: Ref<boolean>;
  /**
   * @description 加载成功
   */
  success: Ref<boolean>;
  /**
   * @description 加载脚本的promise
   */
  toPromise: () => Promise<unknown>;
};
```
