我调用一个带回调函数参数的函数。
我想将给回调的值推送到一个新数组,以便我可以在其他地方使用它。问题是,无论我做什么,阵列都会保持空白。
var testarray = new Array();
Getfirstpictures(id, function(myarray) {
testarray.push(myarray[0]);
});
alert(testarray);
答案 0 :(得分:1)
由于它使用回调,因此Getfirstpictures
是一个异步函数是一个非常安全的选择。
在发生回调的任何触发事件之前,您正在调用alert
。
您需要等到触发发生后(通常将警告置于回调功能中。
答案 1 :(得分:0)
使用你的回调:
Getfirstpictures(id, function(myarray)
{
alert(myarray);
});
该回叫不会立即执行。它由您的Getfirpictures方法执行。
编辑:
变化:
var testarray = new Array();
Getfirstpictures(id, function(myarray) {
testarray.push(myarray[0]);
});
alert(testarray);
为:
Getfirstpictures(id, function(myarray) {
alert(myarray);
});
它会起作用。所以你也可以这样做:
Getfirstpictures(id, function(myarray) {
doSomething(myarray);
});
function doSomething(arr) {
for (var i = 0; i < arr.length; i++)
alert(arr[i]); // or add elements to the DOM etc etc
}