我怎样才能得到在 IE 中工作的承诺?

How can I get promises to work in IE?

在我的 html 中,我有:

<script type="text/javascript" src="js/libs/require.js"></script>
<script type="text/javascript" src="js/libs/html2canvas/html2canvas-master/dist/html2canvas.js"></script>

为了解决其他问题我不得不升级到使用Promises的html2canvas版本,但是发现IE(11)支持这个。

我按照 html2canvas 的制作者的建议下载了库 "es6-promise-master"。这位于 js/libs/es6-promise-master.

在我的 javascript 主文件中,我有:

var Promise = require(['es6-promise']).Promise;

我无法让它工作。我在 javascript 中的最新错误是:

require.js: Line: 7
Error: Mismatched anonymous define() module: function(c){return b(a,c)}
http://requirejs.org/docs/errors.html#mismatch

我已阅读 http://requirejs.org/docs/errors.html#mismatch 但我确实需要一些代码来弄清楚如何让它工作。

此语法:

var Promise = require(['es6-promise']).Promise;

假设您有可用的 CommonJS 环境。这是由 Webpack 和 Browserify 等工具提供的。

您目前正在使用 RequireJS - 这与 CommonJS 不同,并且使用不同的模块格式。

使用 Promise 实现的最简单方法是包含一个 polyfill,当您在页面中包含脚本时,它会自动安装。这是作为 es6-promise.auto.js.

提供的