SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
XMLHttpRequest中止时会发生什么?
问题描述
投票:4
回答:1
流产的
XMLHttpRequest
是否仍会从服务器下载响应?
请求生命周期中的哪一点与常规请求不同?
不同浏览器的行为有何不同?
中止请求是不好的做法吗?
javascript
http
browser
xmlhttprequest
abort
1个回答
0
投票
不,下载将(应该)取消(至少在我的浏览器中)
请求中止时,其readyState更改为XMLHttpRequest.UNSENT(0),请求的状态代码设置为0. -
MDN
不,至少希望不是。他们应该关注
the spec
。
在我看来,绝对不是。如果您不再需要在后台运行请求,则会浪费带宽和其他资源。中止它们会好得多。
最近两个来自个人经历的用例:
包含各种过滤参数的表。根据所选参数,生成的请求有时需要一段时间才能完成。如果您选择了一组参数A,然后在A完成之前快速设置参数B,您首先会在表中看到B的结果,但是A最终会完成并“替换”表的内容所以你突然看到了A. 解决方案:在开始下一个请求之前中止先前未完成的请求。
具有有时长时间运行请求的页面的SPA,例如前面提到的表。当导航到另一个页面时,有时会在后台运行多个请求以查找不再需要的内容。 解决方案:在卸载页面/组件时注册要中止的请求。
最新问题
Elasticsearch 错误:cluster_block_exception [FORBIDDEN/12/index 只读/允许删除 (api)],洪水阶段磁盘水位线超出
无法在 Pixela API 中创建新用户
以“TryParse”方式反序列化 json
一键停止打开多个窗口
电子邮件回复中的 RSA 技巧
地图图标的uni码是什么
需要 Lucene 4.1.0 源 jar 或 javadoc jar(以便在 Eclipse 中使用 Lucene 4.1.0 进行开发)
如何在Python中将Dict嵌套在Dict数组中?
有没有一种方法可以在模块级别调用时将函数注释为类型,但在类内部时显示其属性值?
如何高效地遍历Rust中的trait实现图?
求解耦合二阶 ODE,Python 中的数值
从右到左反转文本并举例
为什么即使调用了正确的先决中间件,也无法在全局 Laravel 中间件中访问 `$request->user()` ?
Pandas 如何将列设置为日期时间列
如何对齐 SVG 内部的文本
不同环境中 SQL_SRV 行为的差异
为什么“abcdef”中的“Prefix:” + 'abc' 计算结果为 False 而不是 'Prefix: True'?
如何在 VS Code 中设置 pyspark?
如何使用python从materialsproject.org下载结构(.cif)文件
MassTransit:Amazon SQS FIFO 队列的批量使用者
© www.soinside.com 2019 - 2024. All rights reserved.