0

我有这样的代码:

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";

那也使用事件?

4

1 回答 1

0

你的怀疑可能是正确的。

使用 API进行数据库查询有两种方法,一种是同步的,另一种是异步的。您可以切换到同步模式在执行 SQL 语句时侦听SQLEvent.RESULT(并且仅在分派该事件后关闭应用程序)。

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

于 2013-10-02T16:48:52.753 回答