Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
Javascript 为什么我不能填充我的数组对象?_Javascript_Asp.net_Ajax_Dojo - Fatal编程技术网

Javascript 为什么我不能填充我的数组对象?

Javascript 为什么我不能填充我的数组对象?,javascript,asp.net,ajax,dojo,Javascript,Asp.net,Ajax,Dojo,在回调方法中,上面的get打印值 因此,如果我想填充我的itemrarray我能做什么?在使用completed函数中的任何数据填充数组之前,您正在打印itemrarray.length,因为completed将被异步调用 如果要打印itemrarray的实际长度,应在打印itemrarray.length时在completed函数中的任何数据填充数组之前,在completed中的for循环完成后执行,因为completed将被异步调用 如果您想打印itemArray的实际长度,您应该在中的fo

在回调方法中,上面的get打印值


因此,如果我想填充我的
itemrarray
我能做什么?

在使用
completed
函数中的任何数据填充数组之前,您正在打印
itemrarray.length
,因为
completed
将被异步调用


如果要打印
itemrarray
的实际长度,应在打印
itemrarray.length
时在
completed
函数中的任何数据填充数组之前,在
completed
中的for循环完成后执行,因为
completed
将被异步调用


如果您想打印
itemArray
的实际长度,您应该在
中的for循环完成后进行打印

console.log(store.getValue(items[i],"itemlabel"));
然后创建一个函数,一旦加载itemArray,该函数将用于保持进程

var completed = function(items) {
    dojo.forEach(items, function(item) {
        console.log(store.getValue(items[i],"itemlabel"));
        itemArray.push(store.getValue(items[i]));
    }, this);
    proceedToNextStep(itemArray);
};

您也可以使用dojo.publish/dojo.subscribe

您好您的问题的答案很简单,但首先我建议您使用

console.log(store.getValue(items[i],"itemlabel"));
然后创建一个函数,一旦加载itemArray,该函数将用于保持进程

var completed = function(items) {
    dojo.forEach(items, function(item) {
        console.log(store.getValue(items[i],"itemlabel"));
        itemArray.push(store.getValue(items[i]));
    }, this);
    proceedToNextStep(itemArray);
};

您还可以使用dojo.publish/dojo.subscribe作为旁注,您不应该使用
newarray()
,而应该使用
[]
符号:
var itemrarray=[]
作为旁注,您不应该使用
new Array()
,而应该使用
[]
符号:
var itemArray=[]已完成的
回调时,将填充该数组。您必须等待异步回调完成。因此,要让它等待直到回调结束,我能做什么?我不是Dojo专家,但文档中可能有关于同步调用
fetch
。另一种选择是从
completed
函数调用使用
itemArray
的函数。如果我的回答不满意,请提供更多的上下文,说明您试图执行的操作。我希望填充该数组,以便以后可以使用它。当执行
已完成的
回调时,将填充该数组。您必须等待异步回调完成。因此,要让它等待直到回调结束,我能做什么?我不是Dojo专家,但文档中可能有关于同步调用
fetch
。另一种选择是从
completed
函数调用使用
itemArray
的函数。