分页与同异步

    

面对庞大的数据,我们不得不采用分页的方法,才能井然有序的阅读,分页的使用非常简单,

指向一个用于存放分页的容器,通过服务端得到一些初始值,就可以完成分页的渲染:

分页与同异步       

通过核心方法:laypage.render(options)来设置基础参数:

  1. Elem 指向存放分页的容器,值可以是容器ID,DOM对象
  2. Count 数据总数,一般服务端得到
  3. Limit 每页显示的条数,借助count和limit计算出分页数
  4. Limits 每页条数的选择项,开启limit之后,就会出现每页条数的select选择框
  5. Curr 起始页,一般用于刷新类型的跳页以及HASH跳页
  6. Groups 连续出现页码个数
  7. Prev 自定义“上一页”的内容
  8. Next 自定义“下一页”的内容
  9. Frist 自定义“首页”的内容
  10. Last 自定义“尾页”的内容
  11. Layout 自定义排版
  12. Theme 自定义主题
  13. Hash 开启location.hash,并自定义hash值。如果开启了,在触发分页时,会自动对url追加:#hash值={curr} 利用这个,可以在页面载入时就可以定位到指定页

注意:当分页被切换时触发,函数返回两个参数:obj(当前分页的所有选项值),first (是否首次,一般用于初始加载的判断):

分页与同异步  

 Laypage只负责分页本身的逻辑,具体的数据请求与渲染需要另外去完成,laypage不仅能应用在一般的异步分页上,还可以直接对一段已知数据进行分页展现,更可以取代传统的超链接分页。  

说到异步,不由自主的想到还有一个同步,同步,异步又是什么样的呢?它们两者有什么相同之处,又有什么不同之处呢?

在Java中,同步是发送一个请求,需要等待返回,然后才能发送下一个请求,有一个等待过程,同步可以避免出现死锁;而异步是发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待过程,异步则可以提高效率

相同之处:两者都属于交互方式,都是发送请求。

不同之处:一个需要等待,一个不需要等待。

同异步还与阻塞与非阻塞有关系,借用个例子说明一下(例子来源于百度)

分页与同异步

所谓同步异步,只是对于水壶而言。
普通水壶,同步;响水壶,异步。
虽然都能干活,但响水壶可以在自己完工之后,提示老张水开了。这是普通水壶所不能及的。
同步只能让调用者去轮询自己(情况2中),造成老张效率的低下。

所谓阻塞非阻塞,仅仅对于老张而言。
立等的老张,阻塞;看电视的老张,非阻塞。
情况1和情况3中老张就是阻塞的,媳妇喊他都不知道。虽然3中响水壶是异步的,可对于立等的老张没有太大的意义。所以一般异步是配合非阻塞使用的,这样才能发挥异步的效用。