javascript - 创建一个接受对象列表的函数和一个通过它们的匿名函数

标签 javascript jquery

参数是:

数据:对象数组。

anonFunction:一个函数,其参数与来自数据的对象的参数相同。

目标:

它将遍历数据,并每次都使用新参数触发 anon 函数。

想法/尝试:

 function special(data, executeFunction){
    var callback = function(){
       if(executeFunction){
          executeFunction();
       }
    }
    var d = JSON.parse(data);
    for( var i = 0; i < d.length; i++){
       var object = d[i];
       callback(object);
    }
 }

这样看起来对吗?我能看到的唯一问题是对象已序列化。所以我只需要按顺序传递项目的值。可以通过某种方式完成的数字。我不知道。 :(

如你所见,我有一些差距。

编辑:一些示例数据:

data = [{"url": "google.com", "type":"POST"}, {"url":"yahoo.com","type":"GET"}]

它将分解为对 url 和类型的迭代。 我会将其传递给:

anonFunction(a,b){
     $.ajax({url:a, type:b});
}

因此,在使用列表和非函数执行我的函数后,它会使用我的示例向 google 和 yahoo 发出请求。

编辑2:

函数看起来像什么:

 //given data from above.
 special(data, function(a,b){
     $.ajax({url:a, type:b});
 });

最佳答案

您定义的回调 函数不接受任何参数。稍后,您将对象传递给它,但它不会对其执行任何操作。

不过,我认为您过于复杂了。你只需要这样的东西:

function special(data, callback){
  if(!callback) return;
  var d = JSON.parse(data);
  for( var i = 0; i < d.length; i++){
    callback(d[i]);
  }
}

special(data, $.ajax);

作为奖励,在 Coffeescript 中,这就像:

$.ajax(settings) for settings in JSON.parse(data)

:)

关于javascript - 创建一个接受对象列表的函数和一个通过它们的匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12607022/

相关文章:

javascript - IE5 最大宽度支持和可能的解决方案

javascript - 如何避免重复代码(页面加载时切换)?

jquery - 如何使用 jQuery 取消按钮的提交

javascript - 使用 AJAX + Javascript 分块读取文件

javascript - 一次 POST Grails 中的所有传入参数

javascript - 跟踪目标 channel 中的 anchor 链接

javascript - 如何在 Reactjs 应用程序中更改路由时将浏览器缩放级别重置为 '100%'

javascript - Angular 4 跳过链接

jquery - 如何在选择条件之前等待 JQUERY AJAX 响应

javascript - Blogger 上的 JQuery 文档加载问题