To get data from multiple list at a same time, we need to parallel Ajax get request for getting data from more than one list.
Let's take one example:
We have two list named "List1" and "List2" and we need to get all items from both lists.
We create one module for get item:
var getModule = (function () {
var baseRequest = {
url: "",
type: ""
};
var getApp = {
};
var getApp = {
getRequest: getRequest,
};
function getRequest(endpoint, _async) {
//var dfd = $.Deferred();
var request = baseRequest;
request.type = "GET";
request.url = endpoint;
request.headers = {
ACCEPT: "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
};
return $.ajax(request);
//return dfd.promise();
};
return getApp;
})();
After that we used jQuery $.when function for getting data from multiple list as shown below
var list1FilesInfo = $.Deferred();
var list2FilesInfo = $.Deferred();
var dfdList1Files;
var dfdList2Files;
var list1URL = "Your Web URL" + "/_api/Web/lists/getbytitle('List1')/items";
var list2URL = "Your Web URL" + "/_api/Web/lists/getbytitle('List2')/items"
dfdList1Files = getModule.getRequest(list1URL, true);
dfdList2Files = getModule.getRequest(list2URL, true);
dfdList1Files.done(function (data) {
list1FilesInfo.resolve(data);
});
dfdList2Files.done(function (ldata) {
list2FilesInfo.resolve(ldata);
});
$.when(list1FilesInfo, list2FilesInfo).then(function (list1Data, list2Data) {
conssole.log('success');
});
Hope it works for you.