【发布时间】:2017-09-07 18:13:37
【问题描述】:
如果 ES6 承诺被多次拒绝/解决,标准行为是什么?
以下代码仅在Google Chrome 中解析一次,这是所有浏览器的标准行为吗?
new Promise(function(e) {
$('#button').click(function(){
resolve();
});
});
我看到promise polyfill 在尝试解决已解决的承诺时抛出异常。 es6-promise 的规范是否指定了这一点,还是不符合 polyfill 标准?
更新
抱歉,我刚刚意识到它不是 polyfill,而只是 Promise 的最小实现(非标准)。
【问题讨论】:
-
答案的结果是,不要使用未命名的 polyfill,因为它不是“标准”
-
你确定你看到的 promise 库是一个 polyfill 吗? 在 ES2015 标准将 Promise 内置到 JavaScript 之前,有多个 Promise 库。