jQuery—从getJson请求向调用方函数返回内容时的最佳实践

jQuery—从getJson请求向调用方函数返回内容时的最佳实践,jquery,getjson,jquery-callback,Jquery,Getjson,Jquery Callback,从$.getJson请求的结果返回内容给调用方函数时,最佳做法是什么? 我有一个名为$.fn.getSomeData的函数,其中包含一个$.getJson调用(该函数位于JSP想要使用我的Web服务必须导入的JS文件中) 然后在调用JSP的内部,一个函数将调用my$.fn.getSomeData函数 因为我的$.getjson请求是异步的,所以我必须等待回调函数执行,然后才能考虑处理JSON。处理将结果数据传递回调用JSP中的函数的最佳方法是什么 我读过的其他选项包括将Div传递到$.fn.ge

$.getJson
请求的结果返回内容给调用方函数时,最佳做法是什么? 我有一个名为
$.fn.getSomeData
的函数,其中包含一个
$.getJson
调用(该函数位于JSP想要使用我的Web服务必须导入的JS文件中)

然后在调用JSP的内部,一个函数将调用my
$.fn.getSomeData
函数

因为我的
$.getjson
请求是异步的,所以我必须等待回调函数执行,然后才能考虑处理JSON。处理将结果数据传递回调用JSP中的函数的最佳方法是什么

我读过的其他选项包括将Div传递到
$.fn.getSomeData
方法中,然后在$.getJson回调函数中,我将处理json,并根据需要将其附加到Div中

第二个选项是将函数传递到
$.fn.getSomeData
。然后可以在
$.getjson
回调函数中调用此函数

有人能推荐一个最佳实践吗?我不希望使用将Div传递到我的
$.fn.getSomeData
函数的选项,因为我希望减少外部JS文件中的耦合

还有一种方法可以将回调函数添加到我从JSP对
$.fn.getSomeData
的调用中,一旦执行了
$.getjson
回调,该调用就会以某种方式触发吗


期待您的建议。

第二版正是您想要的

传入您希望在getJson请求完成时执行的函数

$.fn.getSomeData = function(callback) {
    $.getJSON('url', data, callback);
}

$('div').getSomeData(function() { 
    // do something
});
要先处理数据,然后调用函数,请执行以下操作:

$.fn.getSomeData = function(callback) {
    $.getJSON('url', data, function(result) {
        // do something with data
        callback(result);
    });
}

第二个版本就是你想要的

传入您希望在getJson请求完成时执行的函数

$.fn.getSomeData = function(callback) {
    $.getJSON('url', data, callback);
}

$('div').getSomeData(function() { 
    // do something
});
要先处理数据,然后调用函数,请执行以下操作:

$.fn.getSomeData = function(callback) {
    $.getJSON('url', data, function(result) {
        // do something with data
        callback(result);
    });
}

是否可以先对生成的json进行一些处理,然后将修改后的json传递给传入的函数?是否可以先对生成的json进行一些处理,然后将修改后的json传递给传入的函数?