The article很好地了解了如何在Flex中处理sqlite;但是它并没有深入到如何处理异步数据访问。

例如,如果我有一个执行以下操作的EmployeesDAO:


updateEmployee(emp:Employee):void
findEmployee(emp:Employee):无效
findAllEmployees():ICollectionView


等等..

只要EmployeesDAO实现异步模式,这些方法仅在连接数据库并创建表之后才是合法的。客户端必须了解这种异步性质才能使用这些方法,因为以下情况将引发SQLErrorOperation,因为findAllEmployees将在连接数据库之前尝试执行“ SELECT”操作:

var dao:IEmployeesDAO = new EmployeesDAO();
var employees:ArrayCollection = dao.findAllEmployees();


处理异步DAO的最佳实践是什么?是否可以从数据访问对象的客户端隐藏异步性质(即,客户端不知道它是使用同步还是异步DAO)?

最佳答案

我知道解决此类问题的唯一方法是使用将结果传递给回调。这就是我们解决监听各种异步令牌或事件消息的方式。

07-24 09:45
查看更多