异步数据库访问然后到达Application.close()并且DB中没有任何内容

时间:2013-10-01 06:38:00

标签: flex

我有这样的代码:

try {
    var a = arr[index];
}
catch (e:Error){
    putErrorIntoSQLite(); // asynchronous DB access
    FlexGlobals.topLevelApplication.close(); // closing the application
}

我认为它是异步数据库访问,在关闭应用程序之前没有时间将错误消息插入数据库。

问题:这是如何预防的?如何推迟close()动作并等待DB事件?

如果不是这个

,该怎么办?
putErrorIntoSQLite(); // asynchronous DB access

我会使用[Bindable]变量

bindableVar = "This is an error message";

还使用事件?

1 个答案:

答案 0 :(得分:0)

你的怀疑可能是正确的。

API有two ways to make database queries,一个是同步的,另一个是异步的。您可以在执行SQL语句时切换到同步模式侦听SQLEvent.RESULT(并且仅在调度该事件后关闭应用程序)。

如果您需要进一步的帮助,请考虑使用putErrorIntoSQLite()方法显示代码。