uni-helper / uni-network

为 uni-app 打造的基于 Promise 的 HTTP 客户端
https://uni-network.netlify.app
MIT License
76 stars 8 forks source link

timeout 默认值 0 导致 H5 端请求超时 #37

Closed Megasu closed 1 year ago

Megasu commented 1 year ago

描述问题

问题

使用默认配置,请求超时,导致无法成功发送。

image

错误结果

{
    "errMsg": "request:fail timeout"
}

补充

uni.request 的 timeout 默认值是 60000

建议按照文档的 timeout 参数默认值 60000 作为 uni-network 的默认值。

复现

以下代码在 H5 端会请求超时

<script setup lang="ts">
import un from '@uni-helper/uni-network'

const getBanner = async () => {
  const res = await un.get(
    'https://pcapi-xiaotuxian-front-devtest.itheima.net/home/banner',
  )
  console.log(res)
}

getBanner()
</script>

系统信息

System:
    OS: Windows 10 10.0.22621
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1195G7 @ 2.90GHz
    Memory: 3.34 GB / 15.79 GB
  Binaries:
    Node: 18.17.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 9.4.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22621.1992.0), Chromium (115.0.1901.183)
    Internet Explorer: 11.0.22621.1

使用的包管理器

pnpm

核对

ModyQyW commented 1 year ago

你的意思是因为默认值是 0 所以 H5 端超过 0 秒(也就是立即)判定为请求超时吗?只有 H5 端有这个问题?😱

Megasu commented 1 year ago

是的呢。默认值 0 的话,根本就无法发送请求。

ModyQyW commented 1 year ago

那我这边把默认的 timeout 去除就好了,默认使用实际使用的 API 的默认值

ModyQyW commented 1 year ago

0.16.1 已经发布啦

Megasu commented 1 year ago

OK