FelixLuoTing 2025-03-26 13:17 采纳率: 91.7%
浏览 12

前端没有渲染后端返回的数据

有一个bug,这是涉及到wifi搜索的功能,就是我点击搜索的时候,请求的接口每次都会报搜索失败,然后后端日志打印的时候,紧接着数据就返回,都不知道什么原因,下面是代码
其中getNearbyWiFi这个是请求的接口地址,nxmLoading这个是加载条、STR_WIFISSEARCH_INFO这个是搜索失败的翻译,就是我看了请求接口的时间,在30s内 后端返回数据的话,就直接显示,但超过30s则直接报搜索失败,但后端还是有数据返回了,只不过前端这里已经报了搜索失败了

img

  • 写回答

5条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-03-26 13:17
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    根据描述情况,可能出现的原因为前端在请求接口后设置了一个30秒的超时时间,当后端返回数据超过30秒时,前端会认为请求失败并显示搜索失败信息。解决方法可以通过取消设置超时时间或者处理请求超时的逻辑来解决这个问题。 以下是可能的解决代码示例:
    // 发起请求
    axios.get('getNearbyWiFi')
      .then(response => {
        // 请求成功,处理数据
        console.log(response.data);
        // 其他操作
      })
      .catch(error => {
        if (error.message.includes('timeout')) {
          // 如果是超时错误,不显示搜索失败信息
          console.log('请求超时,但可能数据已返回');
        } else {
          // 其他错误,显示搜索失败信息
          console.error('搜索失败');
        }
      });
    

    在上述代码中,通过判断错误信息中是否包含 'timeout' 字样来区分超时错误,若是超时错误则不显示搜索失败信息;若不是超时错误,则显示搜索失败信息。这样可以避免在后端返回数据后仍显示搜索失败信息的情况。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月26日