我需要在制作另一个之前取消所有挂起的PageMethod调用,但是我无法处理请求。我希望我能做到以下的事情:
var pm = PageMethods.Test(123);
var ex = pm.get_executor();
ex.abort();
但是,PageMethods调用不会返回请求的句柄,如果您查看动态生成的javascript以进行调用...
PageMethods.Test= function(id,onSuccess,onFailed,userContext) {
PageMethods._staticInstance.Test(id,onSuccess,onFailed,userContext); }
...你可以看到没有return
声明,这是问题所在。如果我用以下内容覆盖该声明:
PageMethods.Test = function(id, onSuccess, onFailed, userContext) {
return PageMethods._staticInstance.Test(id, onSuccess, onFailed, userContext); }
然后我可以执行以下操作:
var pm = PageMethods.Test(123, function()
{
alert('completed');
}, function(err)
{
alert('failed');
});
var ex = pm.get_executor();
ex.abort();
但是我不想像上面那样覆盖每个页面方法,而我真正想做的就是像PageMethods.cancelAllPending()
那样但是不存在,至少每个PageMethods调用都是返回请求我可以自己跟踪它们并取消它们,但它没有!
不,我不是,也不能使用jQuery(或任何其他javascript库!)。
答案 0 :(得分:1)