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

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

阅读 10.2k
3 个回答

楼上说得对,用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){
    //错误处理
})

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

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

get(function(res){
    console.log(res);
})

弄成Promise吧

return Promise.resolve($.post(url,data));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏