是否可以中止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中一样,您可以在XHR上使用abort。
发布于 2011-04-07 09:42:04
您可以尝试cancel()方法的AbstractOperation。
r.getOperation("OperationName").cancel();更新:
这就是问题所在,我调用一个大调用,然后用户离开视图,这样我就不需要再等待响应了。现在,http请求正在阻止任何进一步的请求。有什么解决办法吗?
您应该在服务器端服务中进行另一项操作,以停止当前服务。然后,当您需要中止当前正在运行的服务时,取消操作(在flex上),然后通过从flex一侧调用停止服务来调用stop服务。
若要停止服务器端当前运行的线程,取决于您使用的服务器端。
发布于 2011-04-07 17:36:05
请注意,通过操作cancel,它只会影响Flex客户端-您的响应程序永远不会被调用。在服务器端,请求正常运行(在结束之前消耗资源),为了防止这种情况,您必须编写一些自定义代码。
https://stackoverflow.com/questions/5578406
复制相似问题