iOS 8.2 对Promise支持有问题
发布于 7 年前 作者 wei21 4847 次浏览 来自 问答

在iOS 8.2里测试小程序,会发现小程序能发起api请求,但不会跳到then的分支里,也不会跳到catch的分支里(没有)。

promise对象是有的,不像网上很多人说的promise对象是null或undefined。promise对象里能看到状态信息和api的返回信息,这个跟后台的信息是一致的。截图如下:

开发工具版本是Version 0.20.191900 (0.20.191900),开发基础库版本是1.4.3。测试时,系统信息如下:

8 回复

要实现同步的请求,推荐使用回调的方法,在一个请求中直接带入包含下一个请求的方法。

回复 晨官方 :请问下一版更新是什么时候?

具体时间不确定,如果需要对话可以自行使用第三方Promise库替换原生实现。

机型:iphone5S

系统:10.0.2

一样不支持promise

出现过差不多的问题,用的是bluebird的promise库,但是在ios8环境下还是跳不到then,最后还是乖乖的去嵌套request了。

回复 阿波 :感谢!

我也看了一些第三方的库,发现有以下两个问题:

  1. 很多库都用到了window对象来监听事件,但小程序没有window对象,走不通

  2. 如果是自定义一个消息池,会发现自定义的function在小程序里没有this指针,看起来小程序不把普通的function看做对象。如果写不了面向对象,就很难管理回调状态。

如果开启了开发工具里的 ES6 转 ES5,还会出现这个问题吗

回复んS:一直都开着。开发工具的基础信息里的四个勾都一直勾选着。 

回到顶部