Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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_Asynchronous_Iteration - Fatal编程技术网

Javascript 如何在异步函数中使用数组值

Javascript 如何在异步函数中使用数组值,javascript,asynchronous,iteration,Javascript,Asynchronous,Iteration,我有一个数组,我想用它的值作为异步函数的输入。但是,当我遍历数组并将它们发送到异步函数时,对异步函数的所有调用似乎都是由数组中的最后一个值完成的 我以为这类问题是通过回调解决的,但我使用的函数是一个库,它不提供任何回调。。我应该如何使异步函数处理所有单个数组值 var libraryName = new Library("#div"); $.post("myfile.php", {somedata}, function(data){ console.log(data); //print

我有一个数组,我想用它的值作为异步函数的输入。但是,当我遍历数组并将它们发送到异步函数时,对异步函数的所有调用似乎都是由数组中的最后一个值完成的

我以为这类问题是通过回调解决的,但我使用的函数是一个库,它不提供任何回调。。我应该如何使异步函数处理所有单个数组值

var libraryName = new Library("#div");

$.post("myfile.php", {somedata}, function(data){
    console.log(data); //prints all correct values
    for(i in data){
        libraryName.asynchronousFunction({
            name: data[i].name // <--this value only becomes the last value in the data-array for all calls
        });
    }
});

由于闭包的原因,请尝试以下操作:

$.postyfile.php,{somedata},functiondata{ console.logdata;//打印所有正确的值 数据中的fori{ 功能元素{ libraryName.asynchronousFunction {name:elem.name} ; }数据[i]; } };
你能给我们看看异步函数体吗?将控制台日志调用放入asynchonousFunction的头部,查看它被调用了多少次您的语法无效。是用对象调用异步函数,还是有回调函数?添加一行,初始化库。没有sry,库已压缩..您编写的语法错误。或者向libraryName.asynchronousFunction传递一个对象,因此该对象的名称为:data[i]。name由“{}”或一个函数包装,在该函数中使用data[i]。name。后者可以解释你的问题,那是一个常见的结束误解。是的,sry,我就是这么做的。现在编辑。那么,关闭解决方案是什么?