使用PHP在Flex中执行程序的顺序

时间:2011-11-02 04:18:47

标签: php actionscript-3 flex asynchronous flex4.5

我正在构建一个Flex和PHP应用程序,我在其中为用户提供了一个Save results选项,该选项将调用生成结果文件的php服务。然后我有FileReference.download(url)函数和生成的文件的url。这里的问题是在文件甚至在服务器中生成之前保存的弹出窗口。因此,用户将获得不完整的文件,因为文件生成至少需要10-15秒。

printToFile.token = customerTyped.printToFile(customerArray,displayno);
var filepath:String= "http://localhost/"+displayno+".txt";
var request:URLRequest = new URLRequest(filepath); 
var fileRef:FileReference = new FileReference(); 
fileRef.download(request);**

我认为函数(服务)调用PHP函数customerTyped.printToFile(customerArray,displayno); 不等待它返回并继续异步执行下一个语句。

如何使下载对话框等待弹出直到printToFile php函数完成。?

1 个答案:

答案 0 :(得分:3)

您需要第二个PHP函数来告诉您文件是否准备就绪。

另一种解决方案是使用普通URLRequest,调用printToFile PHP函数,然后收听COMPLETE事件 - 该事件应该告诉您何时生成文件。