搜索

首页  >  问答  >  正文

javascript - 异步获取的数据怎么return出去

如图,用ajax异步获取到了数据,怎么把数据返回到上一层。。。如图所示,怎么才能让第二个return的值是异步获取返回的数据

我想大声告诉你我想大声告诉你2778 天前461

全部回复(3)我来回复

  • 仅有的幸福

    仅有的幸福2017-05-16 13:14:20

    楼上说得对,用promise

    get:function(){
        return new Promise(function(resolve,reject){
            //ajax...
            $.post("test.php",function(response){
                resolve(response)
            })
            //如果有错的话就reject
        })
    }

    使用

    get().then(function(response){
        //response
    }).catch(function(err){
        //错误处理
    })

    回复
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:14:20

    要么改成同步的,要么用回调,你的return没用的

    get:function(callback){
        $.post(.....,function(res){
            callback(res)
        })
    }
    
    get(function(res){
        console.log(res);
    })
    

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 13:14:20

    弄成Promise吧

    return Promise.resolve($.post(url,data));

    回复
    0
  • 取消回复