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,我就是这么做的。现在编辑。那么,关闭解决方案是什么?