- 问题: 最近做的项目很多客户反应小程序打开空白加载不出来,代码看了好多遍也没发现问题,让客户提交反馈,最后定位到promise问题上,原来是部分ios系统不支持promise的finally方法。
- 解决方法:在app.js加入以下代码,给Promise重新定义finally
Promise.prototype.finally || (Promise.prototype.finally = function (callback) {
return this.then(
value => Promise.resolve(callback()).then(() => value),
reason => Promise.resolve(callback()).then(() => {
throw reason; })
);
})