以下语句,执行没有问题:是在js中,ConvertPath.webPath(String)是函数
ConvertPath.webPath("http://localhost/output/1.png",function callBackHello(data){
alert(data);
});但如果想data赋给一个变量,总是不行,为什么,以下一简单示例就是不行。
var aa="";
ConvertPath.webPath("http://localhost/output/1.png",function callBackHello(data){
aa=data;
});
alert(aa);另外,如何让ConvertPath.webPath(String)执行过程中,处于等待状态,不往下执行。有什么办法?

解决方案 »

  1.   


    var aa="";
    ConvertPath.webPath("http://localhost/output/1.png",function callBackHello(data){
    aa=data;
    });
    alert(aa);
    dwr默认是异步交互的,所以var aa="";在ConvertPath.webPath()函数还没有执行完的时候,程序
    已经走到了 alert(aa);这里。所以要想取到alert(aa);你可以设置成同步。
    ------------------------
    DWREngine.setAsync(false);
    var aa="";
    ConvertPath.webPath("http://localhost/output/1.png",function callBackHello(data){
    aa=data;
    });
    alert(aa);
    这样应该就行了。
    处于等待状态,不往下执行:可能是你设置dwr是同步状态,才不往下执行。默认是异步的,不管
    ConvertPath.webPath有没有执行完都执行下面的代码。