我正在使用“批量” OData请求。但是,在同一请求中调用了两个单独的实体读取。
如何将它们分为2个单独的批处理请求?
例如
// Retreive Category Info and set up panel info.
_.each(oViewData.categories, function(result, index) {
surveyModelCat.read("/CategorySet", {
filters: [
new Filter("CategoryId", FilterOperator.EQ, index)
],
success: function(oDataCategory) {
oViewData.categories[index].categoryId = oDataCategory.results[0].CategoryId;
oViewData.categories[index].categoryDesc = oDataCategory.results[0].CategoryDesc;
oViewData.categories[index].expanded = false;
oViewData.categories[index].complete = false;
oViewModel.setData(oViewData);
resolve(oDataCategory);
},
error: function(oError) {
self.getView().byId("Page1").setVisible(true);
self.busyDialog.close();
}
});
});
然后再..
resultOfflineSet
在运行应用程序并在Chrome中查看“网络”标签时,我可以看到CategorySet
和$batch
的调用是同一$(document).ready(function () {
let url = $("#webinarInfo").attr('value');
$("#webinarInfo").click(function () {
$.fancybox.open([
{
type: 'iframe',
href: url,
width: 630,
height: 750,
autoSize: true,
closeBtn: false,
padding: 0,
afterClose: function () {
location.reload();
}
}
]);
});
$("#closeInfo").click(function () {
parent.$.fancybox.close();
});
//checks if browser has enabled cookies and if the user doesn't have a cookie
if (navigator.cookieEnabled === true) {
if (document.cookie === "" || document.cookie === undefined) {
return callFancybox();
}
}
//trigger button with the popup-info. after that create a cookie
function callFancybox() {
$("#webinarInfo").trigger("click");
document.cookie = setWebinarCookie();
}
});
请求的一部分。
为什么它们不在两个单独的批次中?
答案 0 :(得分:0)
好,您可以尝试两种方法。首先,oData模型具有名为useBatch
的设置,可以将其设置为false。否则,在读取结束时,oData模型将具有一个submitBatchRequests
方法,该方法将强制刷新将要批处理的所有未决请求。这些都可以解决问题。