如何在ES5中使用Promise

时间:2019-04-15 15:10:31

标签: javascript typescript promise es5-compatiblity

我正在尝试在TypeScript应用程序中使用Promise。但这似乎不可能吗?

首先,我尝试使用Promise.all(),但随后我当然得到“'Promise'仅指一种类型,但在这里被用作值”。如果我改为尝试通过执行new Promise().all()来实例化Promise(或分两步进行,即首先实例化然后调用该方法),这也没有什么不同。并且在我执行async getData(): Promise<X>的函数标头中也给出了相同的错误消息,这对我来说没有任何意义。

正如有关此问题的其他一些线程所建议的那样,我将目标从tsconfig.json中的“ es5”更改为“ es6”。我也尝试将其更改为“ es2005”。这使我可以构建应用程序。但是当我尝试运行它时,我会得到

  

由于以下原因而无法实例化模块[模块名称]:错误:[$ injector:nomod]   模块“ [模块名称]”不可用

从es5更改为es6时,我是否还需要调整其他内容?

我还尝试将"lib": [ "es2015" ]添加到tsconfig.json中的editorOptions中,作为另一个线程的建议。但是随后我收到几百个错误,提示诸如:Build: Cannot find name 'Element'. File: angular.d.ts

编辑:如注释中所建议,我还向lib数组添加了“ dom”,从而消除了编译错误。但是然后获取“ ReferenceError:'Promise'未定义”。

我该如何解决?可以使用Promise的任何解决方案都可以。

谢谢!

0 个答案:

没有答案