javascript - 这是什么意思? getData([渲染数据]);

标签 javascript

谁能帮我理解这背后的逻辑?

$(document).ready(function() {
    getData([renderData]);
});


function renderData(JSON) {
    $.each(JSON, function(i, item) {
    //logic
    }
}

 function getData(callBacks) {
    var url= '/data/data2';
    $.getJSON(url, function() {
    }).done(function(JSON) {
        if(callBacks) {
            for( var i = 0; i < callBacks.length; i++ ) {
                callBacks[i](JSON);
            }
        }       
    }).fail(function(xhr, status, error) {
        //alert(xhr.responseText);
    }); 
 }

函数 renderData 是否被设置为它自己的参数?

谢谢。

最佳答案

它将数组中的函数 renderData 传递给另一个名为 getData 的函数。

请注意,这是传递函数而不是调用任何东西,因此数组包含对函数的引用而不是它的返回值,在 getDatarenderData 函数可以是通过访问作为参数传递的数组的第一个值来调用。

callBacks[i](JSON);//callBacks[i] 是 renderData

查看 getData 似乎这样做是为了避免在 ajax 调用/响应中嵌套另一层,从而使代码更具可读性(一旦您理解了它)。

关于javascript - 这是什么意思? getData([渲染数据]);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126362/

相关文章:

javascript - React & React-router 异步组件挂载多次(多次调用componentDidMount)

javascript - Google API v3 适合 map 缩放并绑定(bind)到所有标记

javascript - 如何从js中的css转换返回值?

javascript - 如何确保在 POST 之前完成对表单 DOM 的更改?

javascript - d3 使 Y 轴位置固定,即使滚动条 x

javascript - 滚动动画仅在某个时刻向下滚动

javascript - 从 json 键导出一些值作为新的 json 对象

javascript - 从字符串javascript中的文本中删除两个单词

javascript - 返回多个嵌套函数的函数

javascript - 当按下特定按钮时如何清除 setInterval?