中止 RemoteObject 调用

发布于 2024-10-30 19:01:05 字数 497 浏览 4 评论 0原文

是否可以中止 Flex RemoteObject 调用?我尝试了以下方法,但 http 请求仍在后台加载:

var r:RemoteObject = new RemoteObject('<myDestination>');
r.source('myClass');
r.myMethod.addEventListener(ResultEvent.RESULT, myResponse);

r.myMethod(); // lets say this method takes 5 second to call

r.channelSet.disconnectAll(); // I thought this would abort the actual HTTP request but its still running

编辑

我感兴趣的是释放浏览器 HTTP 管道,就像在 javascript 中一样,您可以在其中使用 abort XHR。

Is it possible to abort a flex remoteObject call? I tried the below method but the http request is still loading in the background:

var r:RemoteObject = new RemoteObject('<myDestination>');
r.source('myClass');
r.myMethod.addEventListener(ResultEvent.RESULT, myResponse);

r.myMethod(); // lets say this method takes 5 second to call

r.channelSet.disconnectAll(); // I thought this would abort the actual HTTP request but its still running

EDIT

The thing I'm interested in is freeing up the browsers HTTP Pipeline, just like in javascript where you can use abort on the XHR.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱的那么颓废 2024-11-06 19:01:05

您可以尝试 抽象操作

r.getOperation("OperationName").cancel();

更新:

这就是问题所在,我调用了一个大型调用,然后用户离开视图,因此我不需要再等待响应。现在,http 请求正在阻止任何进一步的请求。有什么解决办法吗?

您应该在服务器端服务中进行另一个操作来停止当前服务。然后,当您需要中止当前正在运行的服务时,取消操作(在 Flex 上),然后通过从 Flex 端调用 stop 服务来调用停止服务。

停止服务器端当前正在运行的线程,取决于您使用的服务器端。

you can try cancel() method of AbstractOperation.

r.getOperation("OperationName").cancel();

UPDATE:

This is the problem, I invoke a large call then the user leaves the view so I don't need to wait for the response anymore. Right now the http request is blocking any further requests. Got any solution for this?

you should make another operation in your server side service to stop current service. then when you need to abort the current running service, cancel the operation (on flex) then call the stop service by calling stop service from flex side.

to stop current running thread on server side, depends on what server side you used.

左耳近心 2024-11-06 19:01:05

请注意,取消操作只会影响 Flex 客户端 - 您的响应程序永远不会被调用。在服务器端,请求正常运行(直到最后消耗资源),您必须编写一些自定义代码以防止这种情况发生。

Note that by Operation cancel it will only influence the Flex client - your responders are never going to be invoked. On the server side there the request is running normally (consuming resources until the end), and you'll have to write some custom code in order to prevent that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文