如何解决js循环调用回调函数返回顺序混乱的问题

newLoadPath(arr3,arr2,function (everyPaths) {

        allPath =allPath.concat(everyPaths);
});

这是我在js中的代码,其中arr3和arr2是通过循环得来的值,是变化的,回调返回的是一个数组everyPaths,现在发现最后拼接得到的数组allPath是乱序的,并没有一一对应着arr3,arr2这两个输入应该得到的值,想请问下诸位该如何解决这个问题?

阅读 3.2k
2 个回答

没看到更多的代码,估计是闭包问题

<script>
(function (n1, n2) {
    newLoadPath(n1, n2, function (everyPaths) {
        allPath =allPath.concat(everyPaths);
    })
})(arr3,arr2);
</script>

newLoadPath这个函数内部代码呢?
在这个函数内通过怎样的计算得出everyPaths

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题