参数是:
数据:一个对象数组。
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和type的迭代。 我会把它传递给:
anonFunction(a,b){
$.ajax({url:a, type:b});
}
所以在用一个列表和一个函数执行我的函数后,它会用我的样本,向google和yahoo请求。
Edit2:
该功能的外观如下:
//given data from above.
special(data, function(a,b){
$.ajax({url:a, type:b});
});
答案 0 :(得分:2)
您定义的callback
函数不接受任何参数。之后,您将对象传递给它,但它不会对它做任何事情。
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)
:)