0

私はそのようなコードを持っています:

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

これは非同期 DB アクセスであり、アプリケーションを閉じる前にエラー メッセージを DB に挿入する時間がないのではないかと思います。

質問: これを防ぐ方法は? close() アクションを延期して DB イベントを待つ方法は?

これの代わりに

putErrorIntoSQLite(); // asynchronous DB access

[Bindable] 変数を使用します

bindableVar = "This is an error message";

イベントも使用しますか?

4

1 に答える 1

0

あなたの疑いはおそらく正しいです。

API を使用してデータベース クエリを作成する方法は 2 つあります。1 つは同期で、もう 1 つは非同期です。同期モードに切り替えるか、SQL ステートメントを実行するときにリッスンすることができます(SQLEvent.RESULTそして、そのイベントがディスパッチされた後にのみアプリケーションを閉じます) 。

さらに支援が必要な場合は、putErrorIntoSQLite()メソッドでコードを表示することを検討してください。

于 2013-10-02T16:48:52.753 に答える