需要动态import模块可以使用import()方法
函数签名:
let recive = import('path');
参数:
模块的路径 path
用于接受返回值 recive
返回值:
一个解决的Promise,解决值是导入的模块
eg.
let dynamicImport = import('./module.js')
console.log(dynamicImport);
//Promise {<pending>}
//[[PromiseState]]: "fulfilled"
咱犯病:
Q:为什么是个pending状态却已落定?
A:同步打印结果,此时期约的解决函数尚未执行,但终将会被解决。
Q:如何确实看见被解决?
A:
let dynamicImport = import('./module.js')
setTimeout(console.log, 1000, dynamicImport)
//Promise {<fulfilled>: Module}
通过定时器异步输出即可,且时间不能太短,期约执行解决函数也要时间...
治病:
同步不能输出异步理想的结果,因为异步代码永远在同步代码执行之后,牢记!