收藏
回答

小程序环境共享-IOS跨环境调用云函数无效? 安卓正常

背景: 小程序A共享环境给小程序B, 在B中使用跨环境调用云函数.

问题: 使用安卓手机测试没问题, 可以正常调用云函数并返回结果. 在IOS中首次进入可以正常访问, 从第二次调用开始就会出现拿不到云函数返回结果的情况. 检查云函数日志, 请求已经被处理并返回response, 说明云函数端没问题.

小程序端调用云函数代码如下:

debug发现执行到`const { result } = await cloud.getLiveRoomList(0)`时阻塞, promise对象状态为pending.

尝试更换IOS手机型号测试, 稳定复现.

IOS版本: 14.4

微信版本: 8.0.2

回答关注问题邀请回答
收藏

2 个回答

  • Hanson
    Hanson
    2021-03-21

    已解决.

    方法:

    在每次调用云函数前都做一次`(new wx.cloud.Cloud(...).init())`, 这个Cloud类型的对象不能被复用, 需要随用随new.

    2021-03-21
    有用 1
    回复
  • 跨商通
    跨商通
    2021-03-21

    有的老苹果手机,不能完全支持async/await。

    勾选增强编译,不行的话再勾选es6转es5,如果还是不行,全部改成es5语法。

    2021-03-21
    有用 1
    回复 2
    • Hanson
      Hanson
      2021-03-21
      确认跟语法无关, 已经降标准到es5了
      2021-03-21
      回复
    • 橙子
      橙子
      2021-11-06
      谢谢!选择将js编译成 ES5 后已成功解决这个问题
      2021-11-06
      回复
登录 后发表内容
问题标签