有谁知道,使用Modernizr或其他方式,是否可以检测浏览器是否启用了Promise功能?
我具有该功能的polyfill,但仅在浏览器没有本机实现的情况下才想应用它。
2016年12月11日更新:现在所有常绿版本的浏览器均支持诺言。它们是安全使用的。
2016年11月14日更新: Chrome,Firefox,Safari和IE现在都在其开发者渠道中对诺言提供了实验性支持。规范已确定。我现在仍然不会依赖于实现,而是会使用一个库,但这可能会在几个月后发生变化。
没有浏览器以可靠的方式原生支持诺言。规范可能会更改-至少要再几个月。我的建议是使用像Bluebird这样的快速承诺库。
如果要检查是否启用了本地承诺-您可以执行以下操作:
if(typeof Promise !== "undefined" && Promise.toString().indexOf("[native code]") !== -1){
//here
}
正如其他人所建议的,仅通过检查是否存在Promise
对象即可完成,if(Promise)
但是我强烈建议您反对它,因为不同的库具有用于创建promise等的不同API。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句