export function BMPGL(ak) { return new Promise(function(resolve, reject) { window.init = function() { // eslint-disable-next-line resolve(BMapGL) } const script = document.createElement('script') script.type = 'text/javascript' script.src = `http://api.map.baidu.com/api?v=1.0&type=webgl&ak=${ak}&callback=init` script.onerror = reject document.head.appendChild(script) }) }更改为ts语句
时间: 2024-03-28 19:40:56 浏览: 144
解决Unable to access 'https://gitee.com/自己的项目/': Could not resolve host: gitee.com问题
修改后的 TypeScript 语句如下:
```typescript
export function BMPGL(ak: string): Promise<BMapGL> {
return new Promise<BMapGL>((resolve, reject) => {
(window as any).init = () => {
// eslint-disable-next-line
resolve(BMapGL);
};
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = `http://api.map.baidu.com/api?v=1.0&type=webgl&ak=${ak}&callback=init`;
script.onerror = reject;
document.head.appendChild(script);
});
}
```
这里使用了 TypeScript 的类型注解来指定参数和返回值的类型。其中,`Promise<BMapGL>` 表示返回值是一个 BMapGL 对象的 Promise,`ak: string` 表示参数 ak 是一个字符串类型。另外,由于 init 函数是在全局作用域下定义的,所以需要将其强制转换为 `any` 类型,以免 TypeScript 报错。
阅读全文