异步操作,能带来更加的客户体验,但对开发人员来说也增加烦恼。目前项目中采用webservice生成的异步操作主要存在以下问题
- 对于采用异步方式取数,在客户端代码中,最好不能出现逻辑判断。
- 需要按顺序加载的方法,导致代码可读性下降。
针对以上问题,在现有的开发经验,我有一下两种方案:
- 对于客户端取数方法,相互没有任何关系。我采用客户端计数的方式,即:定义一个全局变量,在异步方法的Completed将该变量加1并做判断是否已经和预计开发的次数是否相等,若相等则所有数据加载完成。
- 对于必须有一定顺序的取数方式,要增加代码可读性。我讲每一个取数方式单独编写成一个一个方法,传入一个Action的委托。这样在开发只需确定一个入口,逻辑都交给每个方法的Completed处理。