同步/异步加载 html <script> 标签
npm i yh-scriptloader --save
import { createLoaders } from "yh-scriptloader";
const mapjs = `https://webapi.amap.com/maps?v=2.0&key=${gaodekey}`;
const mapUI = "https://webapi.amap.com/ui/1.1/main.js";
const srcs = [
[
{ src: mapjs },
{ src: mapUI }
]
];
const loaders = createLoaders(srcs);
- 普通回调风格
loaders.loading((res) => {
if(res.loaded){
this.mapSetUp();
}else{
console.log(res);
}
});
- Promise风格
loaders
.loading()
.then((result) => {
console.log("scriptloader - loading", result);
})
.catch((err) => {
console.log("scriptloader - loading", err);
});
createLoaders(parms)
-
返回类型
YHLoaders
-
parms(asyncArray) - Array.<syncArray>
最外层为 asyncArray - 里层为 syncArray
即:
- asyncArray 中的所有单元为
异步
加载 - syncArray 中的所有单元为
同步
加载
使用异步加载
const srcs = [
[{ src: mapjs }],
[{ src: mapUI }]
];
使用同步加载
const srcs = [
[
{ src: mapjs },
{ src: mapUI }
]
];
.loading(callback)
序号 | 参数名称 | 类型 |
---|---|---|
1 | callback | Function |
YHloading(parms)
序号 | 参数名称 | 类型 |
---|---|---|
1 | parms | Array.<syncArray> 同 createLoaders(parms) |
- 普通回调风格
YHloading(srcs, () => {
console.log("scriptloader - loading", window.AMap);
});
- Promise风格
YHloading(srcs)
.then((result) => {
console.log("scriptloader - loading", result);
})
.catch((err) => {
console.log("scriptloader - loading", err);
});