读书人

Flex 有关问题:HTTPService 怎么发送

发布时间: 2012-03-15 11:50:39 作者: rapoo

Flex 问题:HTTPService 如何发送同步请求???
因为我有两个联系的数据库查询

而第二次查询的条件和第一次查询有关,

那么就需要等第一次查询完成后,才能进行第二次查询

然而,FLEX中的HTTPService 发送请求是异步的(发送完成后继续运行程序)


请问是否有办法发送同步请求呢?(即数据回传并完成后再继续运行下面的程序)

比如AJAX中
ActiveXObject.open ('POST',"m_a_6_callback_tag_set_response.php",false)
指定FALSE,则发送同步请求。。。



如果不能发送同步请求的话,如何实现sleep呢(实在不行等上10一会吧)

[解决办法]
不解你为何有这样的想法?
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalGap="10">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.http.HTTPService;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;

private var service:HTTPService

public function useHttpService(parameters:Object):void {
service = new HTTPService();
service.destination = "sampleDestination";
service.method = "POST";
service.addEventListener("result", httpResult);
service.addEventListener("fault", httpFault);
service.send(parameters);
}

public function httpResult(event:ResultEvent):void {
var result:Object = event.result;
// 为何不在这个地方根据result的值写入你相关调用程序?!
//Do something with the result.
}

public function httpFault(event:FaultEvent):void {
var faultstring:String = event.fault.faultString;
Alert.show(faultstring);
}
]]>
</mx:Script>
</mx:Application>
[解决办法]
在第一次查询的result事件方法里做第二次查询,这样就同步了
[解决办法]
那你说怎么做同步呢
[解决办法]
很奇怪的想法,感觉没有必要啊
[解决办法]
第一、为什么会出现在第一次查询的结果中才可以去查找第二次阿?而且中间还没有用户的操作;你这两次的操作完全一次就可以解决的阿;
第二、你既然已经返回结果了,那再开一个基本没有太大的区别了阿。甚至可以直接使用传送回来的值啊
[解决办法]
分开请求 第一次请求后监听RESULT,在监听方法中进行第二次请求
FLEX没有SLEEP,但是有时间监听TIMER类可以模仿SLEEP

读书人网 >flex

热点推荐