上代码:
callLater(doSomething, [event, "Product Description"]);
...
private function doSomething(event:Event, title:String):void {
...
}
如果你需要更多的参数,在中括号就是数组里面继续加参数,前提是callLater(方法名,args[])的参数要和被调的方法中的参数类型和顺序一致。
<?xml version="1.0"?>
<!-- layoutperformance/CallLaterTicker.mxml -->
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script><![CDATA[
[Bindable]
public var text:String = "SLAR:95.5....TIBA:42....RTF:34.15....AST:23.42";
[Bindable]
public var speed:Number = 5;
public function initTicker():void {
theText.move( this.width+10, 0 ); // Start the text on the right side.
callLater(moveText,["Hello world"]);
}
public function moveText(str:String):void {
var xpos:Number = theText.x+str.length;
if( xpos-speed+theText.width < 0 ) {
xpos = this.width+10; // Start the text on the right side.
}
xpos -= speed;
theText.move(xpos,0);
callLater(moveText,["Hello world"]);
}
public function changeSpeed():void {
speed = speedSelector.value;
}
]]></fx:Script>
<s:Panel title="Ticker Sample" width="400" height="200">
<s:VGroup>
<mx:Canvas creationComplete="initTicker()"
horizontalScrollPolicy="off" backgroundColor="red" color="white"
width="400">
<mx:Label id="theText" text="{text}" y="0"/>
</mx:Canvas>
<mx:HBox>
<mx:Label text="Speed:"/>
<mx:HSlider minimum="1" maximum="10" value="{speed}"
id="speedSelector" snapInterval="1" tickInterval="1"
change="changeSpeed()"/>
</mx:HBox>
</s:VGroup>
</s:Panel>
</s:Application>
from http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7b06.html
分享到:
相关推荐
Flex支持异步编程模型,如使用`AsyncToken`对象和`callLater()`方法,可以避免UI线程阻塞,确保等待界面的平滑显示。 5. **优化用户体验**: - **延迟显示**:不必要一开始就显示等待界面,只有当后台任务执行...
callLater()函数用于延迟执行某段代码,常用于解决事件处理过程中的同步问题。在Flex中,它能确保回调在事件队列的末尾执行,避免UI更新和数据处理之间的冲突。 ### 23. 是否使用模块化开发,其优缺点是什么,使用...
这里,`callLater` 函数利用闭包,返回了一个匿名函数,该匿名函数能够访问外部函数`callLater`的参数。调用`callLater`并传入参数后,我们可以得到一个可以延迟执行的函数引用,并将这个引用传递给`setTimeout`: ...
JavaScript 闭包是一种强大的编程工具,常常被用来解决特定的问题和优化代码结构。在JavaScript中,闭包是指一个函数能够访问并操作其定义时的作用域内的变量,即使该函数在其外部作用域被调用。以下将详细介绍两个...
4. **动态添加属性和方法**: JavaScript允许在对象创建后动态添加属性和方法: ```javascript var user = new Object(); user.name = "jack"; user.age = 21; user.alter = function() { alert(this.name); ...
4. **接口继承** AS3中的接口也支持继承,一个接口可以继承另一个接口,从而扩展其方法集。这有助于创建层次结构的接口系统: ```actionscript public interface IExtendedInterface extends IMyInterface { ...
TS实现的定时器/计时器,可自行翻译到其他语言 举例 翻译到C#后 long times = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); long times_now = DateTimeOffset....callLater//下一帧 property: scale//时间缩放倍率
为了解决这一问题,可以使用`mx.core.UIComponent.callLater()`函数将ActionScript的执行推迟到下一帧周期。 ### 三、类型声明优化字节码 类型声明在ActionScript 3中扮演着至关重要的角色。它不仅提高了代码的...
reactor.callLater(4, reactor.stop) reactor.run() ``` 在这个例子中,`getDummyData` 函数模拟了一个延迟操作,并返回一个 Deferred 对象。当模拟的延迟完成后,通过 `callback` 方法触发 Deferred,调用 `...
4. **回调链触发顺序**:当激活时,Deferred会按照回调链添加的顺序依次执行回调函数或错误处理函数。 #### 三、基本使用案例 1. **使用`addCallback`方法**:当一个异步操作成功完成后,可以使用`addCallback`...
在使用wxPython开发GUI程序时,同样可以利用Python的threading模块来实现多线程功能,但需要特别注意线程安全问题。 线程安全是指在多线程环境下,对共享资源的访问是否会产生竞态条件、死锁等错误。在wxPython中,...
为了解决这个问题,我们引入了Treq库。Treq是受Requests启发的一个HTTP客户端,但它构建在Twisted事件驱动网络框架之上,提供异步、高性能的并发请求处理能力。 Treq不仅适用于压力测试,而且在构建高并发的HTTP...
对于异步操作,你可以使用`callLater`或`deferToThread`等Twisted的调度函数来处理消息的发送和接收。 txZMQ提供了一些高级接口,如`ZMQStream`,它允许开发者将ZeroMQ套接字与Twisted的I/O事件流相结合。这样,...
1. **异步操作**:避免阻塞主线程,尽可能使用异步操作,比如使用`callLater()`方法处理UI更新。 2. **缓存和分页**:如果聊天记录过多,可以考虑缓存策略和消息分页,以减少内存占用。 六、用户体验 1. **实时...
reactor.callLater(1, p.sendMessage, "This is sent in a second") reactor.callLater(2, p.transport.loseConnection) c = ClientCreator(reactor, Greeter) c.connectTCP("localhost", 1234).addCallback...
`addCallbacks`接受两个参数,一个是成功回调,另一个是错误回调。 更复杂的用法通常涉及到实际的异步操作,如以下示例: ```python from twisted.internet import reactor, defer class HeadlineRetriever...
使用`reactor.callLater`可以设置一个延迟时间,在这个时间后执行`reactor.stop`来停止Reactor。然后调用`reactor.run`来启动Reactor循环,这样才能实际运行异步操作。 对于异步编程,还需要注意异常处理和资源管理...