我想从 HTML 执行 ActionScript 函数并将值返回给 HTML。但是flash中的功能需要addEventListener。所以我不知道如何返回值,因为主函数完成得比 EventListener 函数快。显然事件函数除了 void 之外没有返回其他东西的能力,但也许有一些技巧?
问问题
137 次
1 回答
1
假设您不需要立即返回返回值以使javascript工作,您可以轮询 flash 直到它准备好,然后读取返回值。
flash.execute();
var checkInterval = setInterval(function() {
if (flash.isReady()) {
clearInterval(checkInterval);
var returnValue = flash.getReturnValue();
}
}, 100);
在 Flash 中,execute() 将“就绪”布尔值设置为 false(可以通过 isReady() 从 javascript 中读取),然后启动异步操作。完成后,flash 会存储返回值,该返回值可以通过 getReturnValue() 从 javascript 中读取,最后将准备好的布尔值更改为 true。
这假设您不需要调用并行执行命令。在这种情况下,您可以为每个执行提供一个 id,并将其发送到 execute()、isReady() 和 getReturnValue(),并通过按 id 分隔内部异步调用让 flash 处理并行请求。
于 2012-08-18T17:39:36.877 回答