收藏
回答

为什么iOS wx.request使用enableChunked时无法正确收到json响应?

    const task = wx.request({
      url: 'https://api.sampleapis.com/beers/ale',
      success: console.log,
      enableChunked: true,
    })

如上代码,请求的业务接口可能返回 SSE 也可能返回 application/json 响应。

在 iOS 设备上,收到 json 响应时,无法正确解析到结果,res.data 为空字符串。

task.onChunkReceived(console.log)

此前通过 onChunkReceived 回调值进行拼接,兼容了一部分场景,但是最近发现如果接口返回的内容过少、返回过快,则也不会触发 onChunkReceived 回调。

希望 iOS 端可以对齐安卓,兼容该场景。

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

2 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2025-07-10

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2025-07-10
    有用
    回复 6
    查看更多(1)
  • leto
    leto
    2025-07-10

    问题机型:iPhone 7 plus;微信版本:8.0.50;系统版本:13.7。

    • 无法在 success 回调中获得 res.data
    • iOS 在返回内容较少的情况下不会产生 onChunkReceived 回调


    代码片段:https://developers.weixin.qq.com/s/j2nCKxms8l1B

    测试了较高版本的 iPhone,使用上面代码片段里的简单代码不会出现该问题,但是在生产环境的复杂场景下是可以复现的。

    2025-07-10
    有用
    回复 2
登录 后发表内容