$ .get请求的数量未知;如何有效连锁?

时间:2019-04-03 19:43:12

标签: jquery promise get

在数据库中,我有一个键数组,用于从其他表中获取数据。数组中的项目数会有所不同。

因此,我可以即时设置多个变量:

var keys = ["3958d9d0kdjcu4","49djs40dksnhjd","fjfjfjtnncxkshe"]
for(var i = 0; i < keys.length; i++) {
    window.keys[i] = i;
}

但是,如何链接数量不确定的$ .get请求?:

var A = $.get("db.url?id=key0");
var B = $.get("db.url?id=key1");
var C = $.get("db.url?id=key2");
// etc.

$.when( A, B, C).done(function(A, B, C) {
//...
});

1 个答案:

答案 0 :(得分:1)

要使用不确定数量的请求执行此操作,请将$.get()(或$.ajax()$.post())返回的jqXHR对象放入数组,然后将该数组应用于{ {1}},就像这样:

$.when()

但是,尽管这行得通,但这并不理想。您不应该像这样快速连续地发出多个AJAX请求,因为这给服务器带来了必要的负担,并且不会扩展。

一个更好的解决方案是合并您正在发送的所有数据,然后发出单个请求。