ICallbackEventHandler回调时的'__pendingCallbacks[...].async' is null or not an object错误处理

这时一个由于asp.net2.0客户端回调脚本中的一个bug。


function WebForm_CallbackComplete() {
          for (i = 0; i < __pendingCallbacks.length; i++) {......}
     }

上面黄色标示的代码中使用的全局变量i,因此而产生的错误。

正确代码:for (var i = 0; i < __pendingCallbacks.length; i++) {......}

由于以下几种情况引起

1、 连续调用回调函数或嵌套调用回调函数

2、回调处理函数中存在变量i

1、解决方法

    在连续调用或嵌套调用回调函数时使用setTimeout来调用。

    例如:setTimeout("WebForm_DoCallback('call',0,GetCallBack,'',null,false)",1);

            setTimeout("WebForm_DoCallback('call',1,GetCallBack,'',null,false)",1);


2、解决方法


    function GetCallBack(arg,context)

    {

          //这个回调用处理函数中不要使用变量

    }



原文地址:https://www.cnblogs.com/lswweb/p/1246494.html