出于某种原因,当我尝试从Worker
(在 AS3 中)接收共享属性时,结果始终为空。也就是说,我向Worker
using发送一个值setSharedProperty()
,当我使用 using 检索它时getSharedProperty()
,它总是返回undefined
/ null
。
这是我设置的一个简单测试:
package
{
import flash.display.Sprite;
import flash.system.Worker;
import flash.system.WorkerDomain;
public class Main extends Sprite
{
private var _worker:Worker;
public function Main():void
{
if (Worker.current.isPrimordial)
{
initMain();
}
else
{
initWorker();
}
}
private function initMain():void
{
_worker = WorkerDomain.current.createWorker(this.loaderInfo.bytes);
_worker.setSharedProperty("message", "test");
_worker.start();
}
private function initWorker():void
{
_worker = Worker.current;
var message:String = _worker.getSharedProperty("message");
trace(message);
}
}
}
当我跟踪message
时,结果为空。虽然我的主要目标是制作一个 AIR 应用程序,但无论我是为 AIR (3.7) 还是 Flash Player(11.6,由于某种原因 11.7 无法将 flash.system.Worker 识别为有效类),我都会得到相同的结果.
我正在通过 FlashDevelop 使用 Flex SDK 进行编译。有谁知道出了什么问题,也许我的代码中遗漏了一些东西?