Javascript 为什么我不能填充我的数组对象?
在回调方法中,上面的get打印值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
因此,如果我想填充我的
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
的函数。