react-native网络请求Fetch中遇到的坑

来源:互联网 发布:剪歌软件 编辑:程序博客网 时间:2024/04/27 20:52

1.没有网络超时时间字段
身为一个官方的网络请求工具居然没有网络请求超时的字段,这样是实在说不过去的。这给我们开发过程中带来了很多不必要的麻烦。比如,想做一个loading工具,可是不知道不知道什么时候是网络超时,什么时候网络异常,这个就尴尬了!

解决方案:
1.js端来解决
使用fetch请求的时候通常返回的是一个promise对象,然后再去解析这个promise对象,才能得到的我们需要的东西。而promise里面存在一个非常好用的方法就是race,就是几个promise在一起竞速,谁跑的快,以谁为准执行回调。
Promise
.race([runAsync1(), runAsync2(), runAsync3()])
.then(function(results){
console.log(results);
});
可以创建两个promise对象,一个负责网络请求,另一个负责计时,如果超过这个时间,就会先回调计时的promise,代表网络超时。

2.原生来解决
http://blog.csdn.net/vv_bug/article/details/61920337

http://lib.csdn.net/article/reactnative/55885

原创粉丝点击