javascript - 如何使用顶级 await 方法处理 const 值的动态导入
问题描述
我正在尝试使用基于环境的 const 文件导入,使用动态导入。当我在顶层使用 await 方法导出 const 值时,我收到错误,因为“不能在异步方法之外使用关键字 await”。我在这里做错了什么吗?
export const urls = await import(`./environments/${environment}`)
解决方案
对于尚不支持顶级 await 的平台,您需要将导入和代码包装到异步函数中:
async function main() {
const urls = await import(`./environments/${environment}`)
// do work
}
main()
您还可以做的是导出承诺:
let promise;
let result = {};
async function main() {
promise = import(`./environments/${environment}`);
result.urls = await promise;
}
main()
export { ready, result }
所以消费模块也可以等待值,或者检查值是否准备好
推荐阅读
- javascript - 使用链中获取和 Promise.all 的多个 API 调用
- python - Python3.6上运行的Flask找不到htmlentitydefs?
- javascript - 从 Chrome 扩展访问 Javascript 上下文开发工具
- php - AWS 上的无服务器 PHP 与 bref 部署错误
- javascript - ajax调用将空数组传递给控制器
- python - 将 pytest 夹具与 asynctest 一起使用
- python - 在字典 Python 中插入变量
- java - 同名元素的Java XML解析
- php - 使用 Curl 抓取网站返回空白结果
- c - 为什么最后连接的字符串与代码的作用完全不同?