javascript - 如何声明“承诺”构造函数?
问题描述
我有一个针对 ES5 的旧 TypeScript 项目,但由于多种因素,升级到任何更新的项目(例如 ES2015)不是一个选项。在尝试使用 async/await 编译代码时出现错误:
TS2705 (TS) An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your
--liboption.
该错误表明有 2 个选项可以解决它,而升级到 ES2015 的选项对我来说不是一个选项,因此我想知道如何准确声明“Promise”构造函数。
我搜索了论坛,发现了许多类似的问题,但我能找到的所有建议最终都建议至少升级到 ES2015,正如我在上面指出的,这不是我的选择。
解决方案
尝试在js中找到Promise类的源代码并注入global.Promise = 'what you copied'
或者您可以使用其他一些库,例如 bluebird - 以同样的方式。
global.Promies = require('bluebird')()
推荐阅读
- php - 使用引导模式更新数据
- nativescript - NativeScript 上的 DateTimeRangePicker
- data-structures - 这是一个有效的二叉树吗?
- html - 为什么我在这个网站上的移动菜单可以在浏览器上运行,但不能在实际的移动设备上运行?
- c# - 使用 C# 的 Azure Blob 存储“找不到方法”
- python - 为什么 psycopg2 INSERT 需要这么长时间才能循环运行,我该如何加快速度?
- sql - 将“名称”列中具有相同值的所有行合并为一行
- c++ - 是否可以使用 C++/WinRT 创建 Windows 服务应用程序?
- php - 一次循环一个结果
- oracle - 即使列有前缀,“列定义不明确的错误”?