收藏
回答

网络超时时间不一致

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.requerst 客户端 6.7.2 1.9.97

- 当前 Bug 的表现(可附上截图)


有两个接口,第一个10s 超时报错之后,第二个虽然也超出了时间10s,但是照样完成了请求,并成功返回(12s返回)。


容我细细道来

首先,场景是这样的,有两个请求(getProductCnt,isEnroll),在接口请求开始,success,fail与complete均打印出相关信息与时间,另外,networkTimeoutrequest时间是10s


1、如下,发起getProductCnt请求,可以看到红框中,请求时间是2018-11-01 16:47:38




也可以在这张图看到,这个时间是小程序自己输出的。请求时间是2018-11-01 16:47:38




2、如下,发起isEnroll接口请求可以看到红框中,请求时间也是2018-11-01 16:47:38




3、接下来就是响应,首先是getProductCnt请求失败,可以看到,红框中请求失败的时间是2018-11-01 16:47:48,非常标准的符合10s超时,下面也有小程序报出来的超时错误




4、最后我们来看下,isEnroll的接口请求,此时可以看到,红框中请求完成的时间是2018-11-01 16:47:50,系统也标出了request success的时间。

问题来了: isEnroll接口从请求开始到请求完成,一共经历了12s,而上一个接口getProductCnt则在10s,就准时报错。




- 预期表现

   

请求超时应该都进入fail,报tomeout错误信息。


还有一个疑问,小程序的request原理是怎么样的。会不会有情况是一个接口超时之后,会将超时重置?


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

2 个回答

  • 小程序技术专员-SgLy
    小程序技术专员-SgLy
    2018-11-08

    你好,这里的逻辑是,单次 request 中间如果有数据包回来,就会重置 timeout,不是整个 session 的超时

    2018-11-08
    有用
    回复
  • 是小白啊
    是小白啊
    2018-11-05

    你提供下代码片段,这边测试下(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-11-05
    有用
    回复 10
    • kooooooong
      kooooooong
      2018-11-05

      这个涉及wx.request,有测试接口可以供片段可以发起模拟请求吗?

      2018-11-05
      回复
    • 是小白啊
      是小白啊
      2018-11-05回复kooooooong

      已经隐藏帖子了,你可以先提供你的接口,后续你可以删除

      2018-11-05
      回复
    • 是小白啊
      是小白啊
      2018-11-05回复kooooooong

      ,使用你的代码片段,测试是结果都是相同的

      2018-11-05
      回复
    • kooooooong
      kooooooong
      2018-11-05回复是小白啊

      要多试几次,不是必现的 ~

      2018-11-05
      回复
    • 是小白啊
      是小白啊
      2018-11-05回复kooooooong

      在未超时的情况下请求成功不正常吗?


      2018-11-05
      回复
    查看更多(5)
登录 后发表内容