现在他这个控件的function结果是异步的,如下:
radconfirm("容差超限是否继续确认!" ,function(argOverrun){
                        if(argOverrun)
                        {
                           alert('ok');
                        }
                        else
                        {
                           alert('no');
                        }
                    }); 
我要直接取得到的true或false怎么重写?  

解决方案 »

  1.   

    radconfirm("容差超限是否继续确认!" ,function(argOverrun){
      var bo = false;
      if(argOverrun)
      {
              bo = true;
              alert('ok');
      }
      else
      {
             bo = false;
             alert('no');
      }
      //在次区域即在当前function中使用bo有效,如作为返回值或是全局变量。很有可能失效
      //因为是异步的,所以可能这个代码没有执行完,其他的地方就使用了变量。导致结果不是想要的;不过改为同步就可以了
      });