动态加载模块
我们现在可以在模块的顶层使用 await, 并且不再需要配合 async函数使用。 Top-level await 可以在实际生产中有以下用途。
动态加载模块
const strings = await import(`/i18n/${navigator.language}`);
这允许模块使用运行时值来确定依赖关系。这对于开发/生产拆分、国际化、环境拆分等非常有用。
资源初始化
const connection = await dbConnector();
允许模块表示资源。
依赖回退
let jQuery;
try {
jQuery = await import('https://cdn-a.com/jQuery.2.0.js');
} catch {
jQuery = await import('https://cdn-b.com/jQuery.1.0.js');
}
依赖发生故障时,可以回退到旧版本,防止程序崩溃。