今天被Promise.finanlly的兼容性坑了一波,记录一下。。
先看Promise.finally
的兼容性,其实和Promise.all
、Promise.race
不是同期的东西。。
用户反馈在微信公众号上无法输入,自己用iOS10的设备试了一下确实能复现,查看控制台发现提示undefined is not a function
,看了下log最新的改动是增加了Promise.finanlly,再结合caniuse的兼容性报告,引入promise.prototype.finally
。
然而,还是报一样的错。。。= =
翻了下这个polyfill包的issue,唯三的issue都是开着的,里面还真找到了一样的反馈,创建与2017年8月。。。
shim() not shimming on karma/phantomJS
参照里面的解决方法新建了一个模块:
1 | //@webSrc/utils/promiseFinallyShim.js |