我正在尝试做一些非常简单的事情:编写一个从文本文件中读取文本并使用 AS3 以字符串形式返回文本的函数。
功能
public function readData(path:String):String
{
var dataSet:String;
var urlRequest:URLRequest = new URLRequest(path);
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);
function urlLoader_complete(evt:Event):void {
dataSet = urlLoader.data;
trace(dataSet)
}
trace(dataSet);
return dataSet;
}
调用函数
var dataString:String = aq.readData("http://example.com/data.txt");
trace(dataString);
此代码在我运行时返回一个空字符串。为什么?
编辑:
好的,我现在看到这不起作用,因为 urlLoader 正在异步执行。我正在编写一个读取数据文件并对其进行操作的程序。这是否意味着我需要在里面编写程序的其余部分function urlLoader_complete
?或者我应该暂停程序直到urlLoader
完成?