我有一个AIR应用程序,定义了以下EXIT处理程序:
NativeApplication.nativeApplication.addEventListener(Event.EXITING, applicationExitHandler);
applicationExitHandler
通过HttpService发出异步注销请求。由于这是异步的,因此看起来应用程序的exit()方法在实际发出注销请求之前返回。
如何在exit()返回之前确保请求完成?
答案 0 :(得分:6)
覆盖默认行为。取消此活动。然后调用该服务。为您的服务添加请求处理程序/错误处理程序。完成后,将调用结果或错误处理程序。这是您可以安全地退出应用程序(当然,如果注销失败,您可能需要额外的处理)。来自docs:
<强>离开强> 在应用程序退出序列启动时调度。
当操作系统启动应用程序退出时,将调度exiting事件;例如,当用户在Mac OS X上发出Cmd-Q键序列时,或者当NativeApplication对象的autoExit属性为true并且最后一个应用程序窗口关闭时。取消此事件会阻止应用程序退出。
注意:调用NativeApplication exit()方法不会导致调度exiting事件。要警告即将退出的组件,请在调用exit()之前调度exiting事件 Event.EXITING常量定义现有事件对象的type属性的值。