问题标签 [request-cancelling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
769 浏览

vb.net - 当url包含特定关键字时vb.net awesomium取消请求

我使用 awesomium 和 vb.net 作为我的 Web 应用程序的客户端应用程序。当 url 包含特定关键字时,谁能告诉我如何取消请求。例如,如果我的 url 包含视图,那么我需要取消请求并将 pdf 下载到本地计算机并使用客户端 pdf 查看器查看。我已经完成了第二部分,但我不知道如何取消请求。

使用 vb.net 本机 webcontrol 我有导航事件。但它在 awesomium 中与此等价的事件是什么

下面是我使用的代码

任何人都可以说当网址包含指定文本时如何取消请求

0 投票
0 回答
327 浏览

php - 在 AJAX 繁重的 PHP Web 应用程序中取消 XHR 请求的最佳实践

我是一个 PHP Web 应用程序的作者,该应用程序为其用户环境提供仪表板和控制面板。

对于上下文,架构大致如下:

  • apache webserver w/ PHP 5.4 处理用户界面请求
  • MYSQL 5.5 (percona) 存储有关用户环境的数据
  • 由独立系统托管的 SOAP 服务,允许北向接口 (NBI) 请求影响用户环境
  • 一个单独的解析系统,它解释用户环境的变化并根据检测到的变化更新数据库。

当用户登录到 Web 应用程序时,他们的环境会从数据库中加载并显示出来。用户界面与 PHP 服务器的 AJAX 轮询请求保持最新。通过将连接状态存储在 JS 布尔值中,我已经将这些请求设置为不“堆叠”,这样每当触发轮询间隔时,后续请求就不会“堆叠”。即跳过后续请求,直到活动请求完成。

除了轮询以保持接口最新,SOAP 服务还可以通过 AJAX 请求向 PHP 服务器使用,触发服务器向 NBI 的同步 SOAPClient 请求,以执行影响用户环境的操作。当对这些请求进行更改时,解析系统最终会拾取更改,并更新数据库,使轮询机制更新接口,从用户的角度完成操作。

执行 NBI 调用的用户发起的 AJAX 请求可能会持续相当长的时间,有时甚至会在 SOAP 请求被释放之前超过一分钟,并且 SOAP 请求的操作的状态会返回给触发它的 AJAX 请求。

在用户的 GUI 中,我锁定了其他 AJAX 请求(包括轮询),同时这些操作之一正在进行,确保一次只有一个 AJAX 请求处于活动状态。

问题在于:如果此请求被 xhr.abort() 取消,则对 NBI 调用的服务器端请求将保持打开状态,直到完成。当完成等待时,如果用户试图导航到其他地方或执行另一个操作(或轮询),请求将被暂停,直到服务器完成原始取消的请求。

需要明确的是:暂停似乎是服务器端,因为没有正在进行的并发 AJAX 或在浏览器中受到其他请求限制。

在服务器完成由中止的 AJAX 请求触发的 SOAP 客户端请求之前,来自同一浏览器的进一步请求似乎在服务器上被阻止。

我知道终止 AJAX 请求中间流不会终止服务器上的请求,但是为什么服务器会阻止进一步的请求,直到触发 NBI 调用的 AJAX 请求被中止之后?

0 投票
2 回答
271 浏览

android - 处理Android中长时间运行的http请求的取消

我正在寻找一个更完整的库,使我能够取消长时间运行的 http 请求(例如文件上传,至少 100 MB 的数据)。

我见过 Volley 提供了一个取消 API,但它似乎只是处理不调用回调并且实际上并没有停止执行(我可能错了)也不建议长时间运行请求。

我也一直在查看 ION https://github.com/koush/ion,它应该能够处理取消,因为它返回一个可以取消的未来任务,但我真的不知道这是否是正确的选择对于我的情况。我不希望请求并行运行,而是按顺序运行。

我自己也编写了这样一个库(https://github.com/darko1002001/android-rest-client),我已经使用了很长时间并且运行良好,我已经做了一些解决方法以适应在我遇到的某些情况下取消请求和进度更新,但老实说,我并不觉得它足够干净或足够强大来满足这个要求。

我通常使用线程池来执行请求,但将长时间运行的请求移动到单个线程池队列中,以便其他短请求仍然执行而不会被阻塞,而是长时间操作。我觉得如果我仍然必须自己管理请求执行以对长时间运行的请求保持顺序,我的解决方法会更好。

有人可以分享他/她在构建此类功能方面的经验吗?关于使用什么的任何建议/建议?

0 投票
1 回答
84 浏览

cancellation - C#中的取消进程

我有 1 个表单和 datagridview。当我单击更新按钮时,新表单仅使用进度条打开。在那种形式中,我有 2 个功能。1用于连接电子邮件和下载excel文件。另一个用于读取 excel 文件和更新我的数据库。它工作正常。现在,我希望当我关闭进度条表单时,它应该被取消。我尝试了 backgroundworker 并创建线程,但我无法让它们为我的目的工作。谁能帮我?

0 投票
1 回答
658 浏览

android - 如何在 Android 的通知中添加取消下载处理的功能?

我有这个代码供下载管理器下载,

代码:

下载类:

现在我想当点击通知中的下载处理时,当前下载被取消。

0 投票
0 回答
552 浏览

angularjs - 当一个失败时防止在 angularjs 中的后续 $http 调用

在我的项目中,我们使用 angularjs 和 RESTful API。假设我正在尝试加载一个页面,我们可能会在其中调用 6 个 rest api。假设第一个失败——这意味着我得到了 200,但实际上 Java 层中发生了异常。如何取消所有未来的电话,或者停止拨打剩余的 5 个电话?我知道拦截器的概念,并参考了以下帖子

AngularJS 在路由更改时中止所有挂起的 $http 请求

我正在拦截每个调用的响应,以检查它是否有我们从 Java 层发送的任何错误消息,然后取消已在数组中注册的调用。但在第一次调用的情况下,这是数组中唯一出现的调用。我对如何防止发生进一步的呼叫感到困惑。

0 投票
2 回答
126 浏览

meteor - Meteor - 请求随机失败

我有一个奇怪的问题,其中一些请求随机失败。我不知道是什么导致了这种行为。有时是图像未加载,有时是 ajax 请求(cfs/severtime 或 algolia-search),有时一切都很好。它也发生在本地和在线。这是两个不同的屏幕截图,其中不同的资源在刷新浏览器后无法加载。

在此处输入图像描述 在此处输入图像描述

0 投票
2 回答
4429 浏览

android - Retrofit 2.0 取消一个 Call 对象

有没有人玩过Retrofit 2.0,特别是Call.cancel()方法?

什么时候触发它的最佳时机?我尝试过调用它,onStop()Fragment遇到了一些问题,即在屏幕显示关闭时取消调用。我也尝试在onDestroy()a中调用它,Fragment但此方法不会取消在 a 中触发的调用ViewPager(例如在选项卡之间切换)

有没有人有这方面的工作示例?

我试图实现这个我的循环回购: https ://github.com/lawloretienne/Loop

0 投票
2 回答
1141 浏览

ios - 如果此文件已存在,则取消 Alamofire 文件下载

如果下载的文件已存在于文档文件夹中,如何取消 Alamofire 请求?

这是请求的代码:

我还尝试创建一个请求变量,然后如果该文件存在但它不起作用var request: Alamofire.Request?则取消它。request?.cancel()

有人可以帮我解决这个问题吗?

0 投票
1 回答
260 浏览

python - 如何通过 Tornado HTTP 服务器上的 HTTP 让长任务“可取消”?

我已经实现了某种繁重任务的 HTTP 包装器,我选择 Tornado 作为前端服务器框架(这是因为繁重的任务是用 Python 编写的,而我只是习惯了 Tornado)。

目前,我只是直接从 Tornado 的进程中调用繁重的任务。我使用 jQuery 准备了某种基于 Web 的界面,让它通过表单中设置的参数进行 AJAX 请求。

正如您可能想象的那样,我从网络浏览器中抛出的任务是不可取消的。我可以取消的唯一方法是向 Python 进程发送 9 或 15 信号,这不是用户通常可以做的。

我想通过 HTTP 请求某种“取消”请求来取消当前工作的任务。怎么做到呢?大多数处理繁重任务的网络服务(例如 YouTube 中的视频编码)在做什么?