六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 69|回复: 0

在Ext的JsonStore的load方法中使用回调callback

[复制链接]

升级  2.67%

12

主题

12

主题

12

主题

秀才

Rank: 2

积分
54
 楼主| 发表于 2013-1-23 02:40:28 | 显示全部楼层 |阅读模式
Ajax的异步请求有时候会带来一些问题,如在Ext做的页面中,需要加载一个JsonStore数据集,在紧跟着的代码中可能就会对数据集进行访问的操作,由于异步请求很可能导致数据未加载完就开始访问,结果可能会不是想要的结果。这里load方法中提供了一个callback回调函数,可以解决延迟加载的问题,我们需要处理的一部分代码可以放在callback函数中处理,这样就解决了异步请求带来的问题。如:
var collectIndex_ds = new Ext.data.JsonStore({     url: '',    root: 'collectIndexs',    id: 'id',    fields:[{name:'id'},{name:'userViewId'},{name:'timeType'},{name:'measureUnitId'}]    });
其回调函数使用为
//使用回调方法,可以解决延迟加载的问题;这里使用回调时为了把userViewId项为空的加上默认值1collectIndex_ds.load({callback :function(r,options,success){if(success){for(var i=0;i<r.length;i++){     var record = r[i];      var v = record.data.userViewId;      if(v==null || v==""){          record.set("userViewId",1);      }  }}}});
Ext官网关于callback的解释
<div class="quote_title">引用
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表