网络请求做优化还是空数组

我知道axios请求是异步的,但是我已经做了优化,但是为什么刷新还是空数组,请求指教

const play = playlist.playlist || [];

img

不是应该这个样子写么

img

没理解,请再说清晰一点

network里 看看数据回来了没

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7811109
  • 你也可以参考下这篇文章:前端通过Axios获取后台的二进制数据流,进行64进行转换,并在网页上进行显示。
  • 除此之外, 这篇博客: 【前端探索】告别烂代码 用责任链模式封装网络请求中的 axios的拦截器已经是链式处理了,为什么还要用责任链优化? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 确实axios已经是链式处理了,但是按改造前的代码,现在的处理方式还是不太优美,我们可以把这里面的if-else拆分成多个拦截器,但是这里面的代码还是有太多判断而且不利于扩展。

    相比于axios的拦截器,责任链模式是一种更通用的,对请求进行各种不同处理的方式,更利于划分代码,而且以后就算不用axios了,现有的责任链也可以直接复用。

    其次,使用TypeScrpit实现责任链模式,我们可以用面向接口的方式,来实现我们处理请求的方法。

    !!!记住一点,使用TypeScrpit的优势,除了类型检查,更重要的是“更好的面向接口编程”

  • 以下回答由chatgpt基于相关博客总结生成:

    针对空数组请求的问题,需要先排查是否是数据请求的问题还是数据处理的问题,可以通过在控制台输出数据,检查数据是否正常获取。如果数据正常获取,可以考虑以下解决方案:

    1. 尝试更改请求方式,例如从get改为post请求,或者获取数据时添加参数,看是否能够正常获取数据。

    2. 检查请求接口的路径是否正确,是否有拼写错误等问题。

    3. 检查请求数据的格式是否正确,例如是否使用了错误的请求头、请求参数等。

    4. 在axios请求拦截器中,打印请求的参数、请求头等信息,检查是否有问题。

    如果以上方案不能解决问题,可以在catch函数中添加错误处理函数来处理错误信息。错误处理函数可以使用参考资料中的封装公共错误请求函数,封装好错误处理逻辑后再在各个请求中使用即可。

    如果还不能解决问题,可以查看控制台中的报错信息来定位问题,或者提供更多的错误信息和代码,以便更好地定位问题。