今天在开发过程中,遇到一个问题。
需要用js画html页面,然后用ajax取后台的数据,由于用的是buffalo框架,因此没法设置同步方法,只能采用异步模式,跳转到这个页面如果有一条记录的时候,没有问题。但是一旦有多条数据,ajax的异步就会出错,容易把这些记录弄混淆。这就类似于多线程程序的同步问题,对于critical section的race condition。
解决的办法是把公共的计数器转换成两个,设置奇数和偶数。解决了同步的问题。以后要注意ajax的类似多线程问题。
今天在开发过程中,遇到一个问题。
需要用js画html页面,然后用ajax取后台的数据,由于用的是buffalo框架,因此没法设置同步方法,只能采用异步模式,跳转到这个页面如果有一条记录的时候,没有问题。但是一旦有多条数据,ajax的异步就会出错,容易把这些记录弄混淆。这就类似于多线程程序的同步问题,对于critical section的race condition。
解决的办法是把公共的计数器转换成两个,设置奇数和偶数。解决了同步的问题。以后要注意ajax的类似多线程问题。