如何在extjs4.1中不使用load函数从存储中获取记录
我有一个带有totalCount值的json响应。我在加载函数中得到totalCount值。如果(totalCount>0),我将在加载存储之前在控制器中创建存储。它正在执行else条件。有人能告诉我如何装载和检查仓库的状况吗?。是否可以在没有加载功能的情况下从字段中获取记录如何在extjs4.1中不使用load函数从存储中获取记录,extjs,extjs4.1,sencha-architect,Extjs,Extjs4.1,Sencha Architect,我有一个带有totalCount值的json响应。我在加载函数中得到totalCount值。如果(totalCount>0),我将在加载存储之前在控制器中创建存储。它正在执行else条件。有人能告诉我如何装载和检查仓库的状况吗?。是否可以在没有加载功能的情况下从字段中获取记录 var totalCount=0; store.load( { scope: this, callback: function(records, operation, su
var totalCount=0;
store.load(
{
scope: this,
callback: function(records, operation, success) {
totalCount = records[0].data.totalCount
}
}
);
if (totalCount > 0) {
console.log("record found");
} else {
console.log("record not found");
}
看起来您对
totalCount
的评估可能是在执行加载回调之前进行的。因为在调用加载存储之前,您将totalCount
初始化为0,所以在计算它时,该值就是这个值。将控制台日志记录移到回调函数中以验证这一点。似乎在执行加载回调之前,您对totalCount
的评估可能已经发生。因为在调用加载存储之前,您将totalCount
初始化为0,所以在计算它时,该值就是这个值。将控制台日志记录移到回调函数中以验证这一点。这里的问题是store.load
函数是异步的。这意味着调用load
之后的代码将在load
函数返回之前执行。调用回调
函数的时间远远晚于执行if
语句的时间
要回答文章标题中的实际问题,请查看API:
根据您的需要,您可以使用任意数量的方法:
.getRange()
获取数组,或.each()
立即迭代记录。这里的问题是store.load
函数是异步的。这意味着调用load
之后的代码将在load
函数返回之前执行。调用回调
函数的时间远远晚于执行if
语句的时间
要回答文章标题中的实际问题,请查看API:
根据需要,您可以使用任意数量的方法:.getRange()
获取数组,或.each()
立即迭代记录