Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在extjs4.1中不使用load函数从存储中获取记录_Extjs_Extjs4.1_Sencha Architect - Fatal编程技术网

如何在extjs4.1中不使用load函数从存储中获取记录

如何在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

我有一个带有totalCount值的json响应。我在加载函数中得到totalCount值。如果(totalCount>0),我将在加载存储之前在控制器中创建存储。它正在执行else条件。有人能告诉我如何装载和检查仓库的状况吗?。是否可以在没有加载功能的情况下从字段中获取记录

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()
立即迭代记录