js中的function函数return值出错,怎么回事,请假下!!!

图片说明

上面图片中的function函数,rerurn没有值,是哪儿写错了吗,如果把return写在success外面的话,return的却是123,搞不明白了!

success是一个回调方法,在success中return是返回给调用success的的方法中去了,并没有返给fn_description函数。

success中return是匿名函数返回值,不是你的fn_description那个方法的返回值,你应该在fn_description最后返回 description

 function fn_description(){
var description='';
//....ext.ajax的代码

return description;
}

不懂你什么版本的extjs,async:false这配置在有些版本没用,无法设置为同步,最好是改成回掉的形式


    function fn_description(callback) {
        var description = '';
        //....ext.ajax的代码
        Ext.Ajax.request({
            //...去掉async配置后的其他配置
            success: function (req, opt) {
                if (.......) {
                    //....原来代码
                    callback(description)
                }
            }
        })
        //return description;//回掉不需要
    }

    //===》这样使用
    fn_description(function(data){alert(data)})