Taro-封装请求遇到的坑

348 阅读3分钟

首先感叹下第一篇文章

曾经写过日记,QQ空间写过日志,可后来再写没有写过,今天突然要写文章,内心还有有些激动的,而且是篇技术类的,更加的激动,或许对于大佬来说,这篇文章没有任何意义,可能对于三个小时前的我,可能是救命的稻草。进入正题

这个坑简直是对自己的侮辱

踩了这个坑,才知道自己的基础有多么的不扎实。首先看下问题

封装好的请求中,then突然拿不到请求错误的回调,catch中拿到的数据不是我想要的。

来看看是怎么挖坑和填坑的

在Taro 1.3.9版本中(因为很早就尝试过一个小demo,开项目前忘了看最新版本,忘了更新),封装了请求(完全是抄的,附上链接),在封装好之后,也加入了自己项目的逻辑,好,目前为止一切正常,可是就在昨天,突发奇想,更新下版本吧,说干就干,升级到了Taro 2.1.5,升级完之后,目测也没问题,开开心心的下班走了。

今天上班,突然同事问,登录失败怎么没有提示信息了,嗯?什么情况,心头一紧,自己测试一下,居然真的没有提示信息了,看netWork,有数据啊,没问题啊。既然数据也没问题,排查吧,那肯定是代码的问题了

netWork中都有数据,那证明请求成功了,那既然成功了,应该都走这个回调,打印下数据吧。

等等,为什么没有打印,为什么没有数据。

不应该啊,一直都是好好的,既然then中没有数据,那我去catch里面拿好吧,顶多就是在处理一次,也没关系,心头一松,开开心心的在后面写

开开心心的去控制台看打印,等等,这是什么鬼

心头又一紧,这什么情况,这是什么数据,接口返回的数据呢?

突然蒙了,这该怎么办,对于一个小白来说,百度啊,最有效

百度,百度,百度,为什么没有相同的情况?这该怎么办,这个问题不解决,项目就崩了。内心焦急

继续百度,群里问大佬,可是大佬都很忙,没有大佬回复我。过了两个多小时,突然有大佬回复我,他的项目中没有遇到这种情况,哇,救命稻草,立马加大佬好友,私聊询问,描述问题,听大佬解答,尝试解决。

跟大佬墨迹了将近一个小时,我突然发现大佬理解错了我的意思(怪我描述的不清楚),进行了一番解释后,大佬突然问我

嗯?body我看了啊,没东西啊,给大佬发了一张截图,以此证明的确没东西

大佬突然说(当然,我百度了ReadableStream,可是没有细看,也没看太懂,但是看到了数据需要.json()一下)

然后我就

    console.log(res.body.json())

并且厚颜无耻的告诉大佬,报错了

大佬很有耐心的告诉我

    console.log(res.json())

我怀着忐忑的心情看向了控制台,WTF,数据出来了,当时内心那个激动啊,有种起死回生的感觉(感谢大佬的指点与耐心)。

我想,到这里,这篇文章就该结束了。

可是我还是不知道为什么升级了版本就报错了,而且请求是成功的,应该走到then中,为什么到了catch中,这样的迷惑,有时间在继续了解吧,赶项目要紧。基础打不好,问题少不了,有时间还是要多恶补恶补基础啊。

感谢大佬

感谢大佬

感谢大佬

感谢大佬的耐心与指点