我在下面使用了这两个来源:中止一个ext js网格存储ajax调用选择性地中止通过Extjs Direct代理发送的ajax请求但是在extjs的第6版中它们都没有效
怎么样 …
在ExtJS的6.0.2版中,有些东西已经改变了 Operation 上课有和 abort 方法
Operation
abort
没有getOperation方法,但有 beforeload 这对抓取操作很有用。
beforeload
通过收集一个或多个操作,您可以安全地 abort 他们在开始新的操作之前。
以下的Typescript类将有所帮助:
module ext_ts { interface Abortable { abort(): void } export class AutoAbortPreviousOperation { private _storeOperations: Array<Abortable> = [] applyOnStore(store): any { let me = this return store.on({ destroyable: true, beforeload: function (theStore, operation, eOpts) { let lastOperation = me._storeOperations.pop() if (lastOperation) { console.log("aborting previous operation safely") lastOperation.abort() //this abort is safe so no need to check !lastOperation.isComplete() } else { //nop } me._storeOperations.push(operation) //add this operation for later usage return true //let the loading begin } }) } } }
请注意 statusCode 用户强制取消的请求是: 的 -1 强>
statusCode
有用的链接: