Browse Source

Provide a option to cancel previous request.

pull/8160/head
maliming 6 years ago
parent
commit
44e9ef0ea9
  1. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js

@ -325,7 +325,7 @@ var abp = abp || {};
* AJAX extension for datatables * * AJAX extension for datatables *
*************************************************************************/ *************************************************************************/
(function () { (function () {
datatables.createAjax = function (serverMethod, inputAction, responseCallback) { datatables.createAjax = function (serverMethod, inputAction, responseCallback, cancelPreviousRequest) {
responseCallback = responseCallback || function(result) { responseCallback = responseCallback || function(result) {
return { return {
recordsTotal: result.totalCount, recordsTotal: result.totalCount,
@ -333,10 +333,11 @@ var abp = abp || {};
data: result.items data: result.items
}; };
} }
var promise = null;
return function (requestData, callback, settings) { return function (requestData, callback, settings) {
var input = typeof inputAction === 'function' var input = typeof inputAction === 'function'
? inputAction(requestData, settings) ? inputAction(requestData, settings)
: typeof inputAction === 'object' : (typeof inputAction === 'object' && inputAction)
? inputAction : {}; ? inputAction : {};
//Paging //Paging
@ -368,7 +369,12 @@ var abp = abp || {};
} }
if (callback) { if (callback) {
serverMethod(input).then(function (result) { if(cancelPreviousRequest && promise && promise.jqXHR) {
promise.jqXHR.abort();
}
promise = serverMethod(input);
promise.then(function (result) {
promise = null;
callback(responseCallback(result)); callback(responseCallback(result));
}); });
} }

Loading…
Cancel
Save