检测数组的所有函数何时返回:javascript
我遇到这样一个js面试问题: 有一个数组,其中的项都是函数,这些函数都需要ajax调用。编写一个函数来检测所有函数何时返回结果,并返回这些结果。 我没有看到原来的标题,所以我不能提供更多的信息,我知道它需要使用回调函数来解决问题,但我不知道如何编写代码,因为我不熟悉js,有人能给我一些关于代码片段的想法吗?检测数组的所有函数何时返回:javascript,javascript,asynchronous,Javascript,Asynchronous,我遇到这样一个js面试问题: 有一个数组,其中的项都是函数,这些函数都需要ajax调用。编写一个函数来检测所有函数何时返回结果,并返回这些结果。 我没有看到原来的标题,所以我不能提供更多的信息,我知道它需要使用回调函数来解决问题,但我不知道如何编写代码,因为我不熟悉js,有人能给我一些关于代码片段的想法吗? 谢谢 请检查以下代码。。您必须定义一个计数器和一个函数,当函数中的ajax调用完成时,将调用该计数器和函数。它将更新计数器并检查所有函数是否完成ajax调用。。如果counter=array
谢谢 请检查以下代码。。您必须定义一个计数器和一个函数,当函数中的ajax调用完成时,将调用该计数器和函数。它将更新计数器并检查所有函数是否完成ajax调用。。如果counter=array length,则表示所有函数都完成了ajax调用,而与它们的顺序无关。我不能向您提供JSFIDLE链接,因为我不能在代码中提及url,因为跨域ajax url不起作用,所以您必须在您的域上执行此脚本
var counter = 0;
function checkCounter()
{
if (counter == arr.length)
alert ("all functions executed from array");
}
var arr = [
function() { $.ajax({ url: ""}).done(function() { counter++; checkCounter() }); },
function() { $.ajax({ url: ""}).done(function() { counter++; checkCounter() }); }
];
for (var i=0; i<arr.length; i++)
{
arr[i]();
}
检查这个:谢谢!这对我帮助很大。