收藏
回答

iOS 8.2 对Promise支持有问题

问题模块
客户端

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


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





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



最后一次编辑于  2017-08-18  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

8 个回答

  • HS
    HS
    2017-08-21

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

    2017-08-21
    赞同
    回复
  • 莫铭臻
    莫铭臻
    2017-08-21

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

    2017-08-21
    赞同
    回复
  • 莫铭臻
    莫铭臻
    2017-08-21

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

    2017-08-21
    赞同
    回复
  • 晨
    2017-08-21

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

    2017-08-21
    赞同
    回复
  • 阿波🍞
    阿波🍞
    2017-08-22

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

    2017-08-22
    赞同
    回复
  • 莫铭臻
    莫铭臻
    2017-08-22

    回复 阿波 :感谢!


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

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

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

    2017-08-22
    赞同
    回复
  • 樸。
    樸。
    2017-11-24

    机型:iphone5S

    系统:10.0.2


    一样不支持promise

    2017-11-24
    赞同
    回复
  • 阿波🍞
    阿波🍞
    2017-11-24

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

    2017-11-24
    赞同
    回复