异步和同步获取数据

我想问一下有没有什么写法能够将异步变为同步,类似jquery中的ajax;类似这种

function getData(){    var dataList;
    $.ajax({        async:false,
        ....
        success:function(data){
            dataList = data
        }
    })    return dataList
}var data = getData()

然后我自己因为是ws通信,也是异步,所以我也想问下有什么办法能够像ajax这样直接return 等于
下面是我的代码

XDC.prototype.GetTGrpList = function (){    return new Promise(function(resolve, reject){        //做一些异步操作
        that.sendCallback(tGrpReq, 'tGrpReq', function(data){
            resolve(data)
        });
}//获取数据xdc.GetTGrpList().then(data => {    //获取数据})

我尝试用了promise、async、generator都只能这种链式获取数据,而不是直接等于获取数据,不知道有没有大神能够帮忙解答一下。万分感谢!!!


梵蒂冈之花
浏览 999回答 1
1回答

万千封印

我尝试用了promise、async、generator都只能这种链式获取数据async/await 不用链式获取吧XDC.prototype.GetTGrpList = async function (){        return that.sendCallback(tGrpReq, 'tGrpReq', function(data){            return data;         }); }//获取数据let response = await xdc.GetTGrpList();// 用response做你想要的操作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Vue.js