js闭包函数结果值获取

js闭包函数这样写不能获取到返回值,原因:AJAX是一个异步的,想要操作request获取到的结果需在success中写。

    var welcomeUrl__ = (function(){
        Ext.Ajax.request({
            url:'develop/developMgr!readDevelopConfig.jhtml?nodeId='+Ext.parseQuery().nodeId,
            method:"get",
            success:function(response,action){
              var ret = Ext.util.JSON.decode(response.responseText);
              var r = ret.welcomeUrl;
              return r;
            }
        });

    })();

这样写是可以获取到js闭包函数返回的结果:

    var welcomeUrl__ = (function(){
       var r =""; 
       return r;
    })();

你可能感兴趣的:(js)