首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Retrofit2 -请求被取消的服务器端被忽略

Retrofit2 -请求被取消的服务器端被忽略
EN

Stack Overflow用户
提问于 2017-04-11 22:53:00
回答 1查看 571关注 0票数 2

我正在使用Retrofit2和RxJava2CallAdapter,我遇到了一个问题,那就是如何区分客户端取消的请求和服务器端取消的请求。

如果我的用户离开已启动请求的当前屏幕,请求将被取消,这是预期的行为。

但是,有时我会得到:

HTTP FAILED: java.io.IOException: CanceledHTTP FAILED: java.net.SocketException: Socket closed

如果服务器取消请求(非常罕见且难以重现),但这些错误不会传输到DisposableObserver。如果我查看CallExecuteObservable的代码,可以看到如果请求被取消,DisposableObserver中不会触发任何东西(既不会触发onError(),也不会触发onComplete())。

所以我的问题是:有没有可能做出改变和/或处理这种情况?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-08-14 14:51:39

对我有帮助的是替换:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'

通过以下方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'

这对我解决这个问题很有帮助,我每次都会调用onError()。更多信息请访问:https://github.com/JakeWharton/retrofit2-rxjava2-adapter

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43357493

复制
相关文章
在SourceTree取消被忽略的文件
老高刚才不小心在SourceTree中忽略了一个上级文件夹(一样的名字没看清,并且勾选了全局忽略),导致里面的所有文件都被忽略掉了,很是尴尬。。。
老高的技术博客
2022/12/28
1.9K0
在SourceTree取消被忽略的文件
被忽略的缓存 -bfcache
bfcache(Back-Forward Cache)是浏览器的一种机制,在 Safari 和 Chrome 中都得到了很好的支持 (笔者在测试最新的 Firefox 发现已经禁用了 bfcache),它利用内存缓存来存储用户访问过的页面状态。当用户在浏览器中执行后退或前进操作时,浏览器可以从 bfcache 中快速加载页面,而不是重新请求服务器并重新渲染页面。这意味着用户可以瞬间回到之前访问的页面,无需等待页面重新加载。它不是 HTTP 意义上的“缓存”,不是“磁盘缓存”意义上的“缓存”,而是将解码资源保存在内存中,以便在多个网页之间共享。
政采云前端团队
2023/10/24
1K0
被忽略的缓存 -bfcache
被忽略的console.log
除了console.log之外,还有更多方式调试JavaScript来输出值。 看起来很明显我们没有。
frontoldman
2019/09/03
8900
被忽略的console.log
【CSS系列】被忽略的content属性
版权声明:本文为原创文章首发于公众号:六小登登 , 你可以随意转载但请务必注明出处!!!关注微信公众号:六小登登,回复 「1024」领取资源大礼包 https://blog.csdn.net/qq_32135281/article/details/89667724
六小登登
2019/05/13
1.2K0
【CSS系列】被忽略的content属性
被忽略的交互设计本质
谈论交互设计本质是起源于日常的很多谈论,不管是向朋友介绍自己从事“交互”相关岗位,还是需要向亲戚通过三言两语解释自己的工作内容;甚至在工作的上下游沟通中,也经常会被问道“你怎么就判断用户是这么想的”“产品如何从0(概念)到1(页面界面)的”;这些问题促使我想要追本溯源,捋顺一下交互的由来、工作内容,以及依照什么方法执行等问题。 01交互前言 现在谈论的“交互”是一个泊来词,本来的汉语语境中没有这个概念,或者说汉语语境中的概念并不是现在经常提到的用户体验设计中的这部分内容。这就导致很难解释,词语的界定模糊不
腾讯大讲堂
2018/02/13
1.5K0
被忽略的交互设计本质
后台设计中容易被忽略的坑
1.数据关联性删除判断   示例:比如后台发布了一个待抢购的订单,app已经把此单抢购,因为后台没有及时刷新状态,所有如果要删除或下架此笔订单,必须先要验证此订单的状态是否为已经抢购; 2.数据重复录入问题   示例:新增数据的时候,由于网络卡顿原因,提交按钮我重复点击n次,就会发送n次请求,录入n条相同的数据,所有在第一次请求之前,先要把提交按钮设置不可编辑,等待返回结果之后再进行后续操作; 3.表单数据验证   表单验证的时候要验证数据库关键字符的处理,比如英文单引号(')就要做非法关键字提示; 4.千
磊哥
2018/05/08
1.2K0
容易被忽略的5个HTML技巧
对于所有 Web 开发人员来说,无论你选择的是哪种框架或后端语言,都需要大量使用 HTML(超文本标记语言)。
深度学习与Python
2021/03/12
1.2K0
容易被忽略的CSS安全性 [每日前端夜话(0x0B)]
前一段时间,有很多关于用CSS构建的“键盘记录器”的讨论(源代码见:https://github.com/maxchehab/CSS-Keylogging)。
疯狂的技术宅
2019/03/27
8880
容易被忽略的CSS安全性 [每日前端夜话(0x0B)]
被忽略的位运算符总结
曾经的我还是太年轻了, 基础不扎实还自以为是, 看到位运算符一节就以为是逻辑运算, 结果跳过没看了, 漏了很多知识. 果然 LeetCode 没白刷呀, 接下来是总结.
Ewdager
2020/07/14
6960
原 GIT忽略已经被提交的文件
git update-index --assume-unchanged 的真正用法是这样的: 你正在修改一个巨大的文件,你先对其 git update-index --assume-unchanged,这样 Git 暂时不会理睬你对文件做的修改; 当你的工作告一段落决定可以提交的时候,重置改标识:git update-index --no-assume-unchanged,于是 Git 只需要做一次更新,这是完全可以接受的了; 提交+推送。 原解答来源:http://segmentfault.com/q/1
霡霂
2018/06/04
6910
那些容易被忽略的Python编程方式
Python 之禅 The Zen of Python, by Tim Peters Beautiful is better than ugly. 优美胜于丑陋(Python以编写优美的代码为目标) Explicit is better than implicit. 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) Simple is better than complex. 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) Complex is better than complic
CDA数据分析师
2018/02/05
9370
那些容易被忽略的Python编程方式
磁盘:最容易被忽略的性能洼地
在没有SSD硬盘之前,大家都会觉得我们的HDD硬盘很好用,什么5400转、7200转,广告都是棒棒的。直到有一天,SSD出现了,发现启动Windows的时候,居然可以秒开,这才幡然醒悟。因此,对于外行来说,磁盘I/O性能总是最容易被忽略的,精力会更集中在CPU上。但是对于内行人来说,大家都懂得,性能无非是CPU密集型和I/O密集型。磁盘I/O就是其中之一。那么到了移动时代,我们的存储芯片性能究竟怎样呢?在讨论这个问题之前,我们来看一个测试数据。
博文视点Broadview
2020/06/11
1.2K0
磁盘:最容易被忽略的性能洼地
差点被忽略的PHP命令行Commands
我们经常把php当作服务使用,常常忽略了php命令自身支持的一些功能,说不定其中的命令还可以提高我们的生产效率。比如查看ini信息,扩展信息等,我相信很多刚开始都会通过服务的形式查看这些信息,像页面输出phpinfo()之类的。
用户1093396
2020/10/29
5760
Mac开发跬步积累(三):被忽略的 NSTabViewController
Apple 官方描述 NSTabViewController作为一个容器业务控制器,可以管理多个页面,并且一次仅显示一个页面
代码行者
2018/10/10
2.5K0
Mac开发跬步积累(三):被忽略的 NSTabViewController
ERP选型容易被忽略的五个重点
一、一页式的管理导航 通过ERP系统,可以在操作界面自定义工作流设置,将不同流程要处理的工作,通过流程和报表结合的形式聚焦,一页式的经营汇总可协助管理者充分了解企业运营实况,提升目标管理效率。 二、强大的订单处理功能 ERP支持网络接单、EXCEL导入、分期交货处理、多送货地址处理、系列产品及套装订单的处理,以及对订单生产、出入库、排期、审核、验货、发货、月结等等进行快速查询和准确的掌握和相关表单的打印等,解放跟单人员,每天快速处理大量订单,解决企业的效率问题。 三、实时掌控的库存管理 库存数据不准、库存盘点麻烦且账实不符、同一库存被多个订单先后预定导致停工待料等、呆滞料、多领错领超领等等,库存管理水平往往映射着企业管理水平,通过先进先出、批次号管理、条形码管理等技术,库存管理系统可管理多工厂、多仓库的存货数量、存货的保质期与存货成本,充分掌握物料现在、过去及未来的库存情况。针对管理人员更提供库存ABC、周转率及呆滞等库存分析报表,以评价存货管理的绩效。 四、平台对接能力 平台具有稳定、整合、对接等功能,可以整合CRM、SRM、APS、ERP、MES等系统功能,使过去的企业信息化工具诸侯割据的“系统孤岛”,以及自动化设备及其系统间形成的“自动化孤岛”彻底消失,系统、设备、设施、地磅等各智能硬件,都可以与ERP融合为一体,并通过PDA、PC、手机、平板、触摸屏、一体机等各种平台呈现与应用。 五、可成长性 企业会不断发展,若是在成长性方面出现了问题,软件无法跟随企业逐渐正常,当企业的需求逐渐增多之后,软件可能无法为企业带来帮助,时间长了也可能导致企业必须要抛弃这样一款软件。因此,在选择ERP时,一定要选择成长性强,能跟随企业的需求,不断增加自身的功能,提升自己的能力,进而为企业带来更好的服务。
matinal
2020/11/27
5280
Oracle中最容易被忽略的那些实用特性
内容来源:2017 年 04 月 08 日,ITPUB管理版版主吕海波在“DBGeeK+PG数据库技术沙龙(4月杭州站)”进行《Oracle中最容易被忽略的那些实用特性》演讲分享。
IT大咖说
2018/07/30
1.2K0
Oracle中最容易被忽略的那些实用特性
Array,List,Struct可能被大家忽略的问题
MJ.Zhou
2018/01/04
8250
Array,List,Struct可能被大家忽略的问题
【总结】ios端被忽略的文件容错测试
iphone沙盒模型的有四个文件夹:分别是 documents,Library,tmp,app包。手动保存的文件在documents文件里,NSUserdefaults保存的文件在tmp文件夹里。 1) Documents 目录:一般需要持久的数据都放在此目录中,可以在当中添加子文件夹,iTunes备份和恢复的时候,会包括此目录。您应该将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。 2) Library 目录:这个目录下有两个子目录:Caches 和 Preferences Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好. Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。 3) Tmp 目录:这个目录用于存放临时文件,当iOS设备重启时,文件会被自动清除。 4) AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。 2.确认哪些文件需要进行容错测试? 不同的App本地存储文件的个数、属性都不同,如果所有的文件都要手动进行容错测试,成本与收益可能不成正比,除非通过白盒测试、自动化容错测试等手段来进行避免。那么在以上测试条件不满足时,如何进行精准测试呢? 通过该bug分析发现,出现问题是因为config.plist文件格式发生了变化,所以需要针对特殊测试场景进行考虑: 1)当本地文件格式发生变化时,一定要进行相关文件的容错测试 2)当某文件为App通用文件(比如配置文件),需要重点进行容错测试 3)当文件目录用户容易修改时,需要进行容错关注 3.文件容错测试检查内容 文件或文件夹的检查 1)文件或文件夹不存在 2)文件或文件名称与预期不符 3)文件或文件夹损坏 文件内容的检查 1)文件内容为空 2)文件中的字段被删除 3)文件中的字段类型错误 4)文件中的字段值超出最大值 5)文件中的字段值超出最大长度 6)文件中的字段对应的内容路径不存在
用户5521279
2019/07/17
1.3K0
【总结】ios端被忽略的文件容错测试
Python 技术篇-容易被忽略的尾差问题
java和python都存在着这样的问题,3*0.1不是等于0.3,而是等于0.30000000000000004。 换个思维,如果有这么一个判断,3*0.1==0.3,这样的结果就是False。
小蓝枣
2020/09/23
5170
如何防止请求的URL被篡改
如图,是我们模拟的一个从浏览器发送给服务器端的转账请求。久一的ID是 web_resource,正在操作100元的转账。
用户1093975
2018/12/05
3K0

相似问题

WebRequest请求被中止,请求被取消

22

Ajax请求被取消

111

System.Net.WebException:请求被中止:请求被取消

53

api请求参数被忽略。

14

WebClient.UploadFile失败,因为“请求被中止:请求被取消”。

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文