Javascript 一旦我们得到api调用的响应,如何解决承诺问题?

Javascript 一旦我们得到api调用的响应,如何解决承诺问题?,javascript,jquery,promise,axios,Javascript,Jquery,Promise,Axios,我有一个方法dropDowndata,它在页面加载时被调用,它正在呈现dropdownbData,因此在getClientList中,我从api调用中得到了响应,但是当我试图在dropdDownData中调用getClientList时,它显示Promise处于挂起状态,从而导致未定义的数据。以下代码中实现的错误是什么?如何解决axios承诺 main.js function dropdDowndata() { var _env = getEnv(); var d

我有一个方法dropDowndata,它在页面加载时被调用,它正在呈现dropdownbData,因此在
getClientList
中,我从api调用中得到了响应,但是当我试图在
dropdDownData
中调用
getClientList
时,它显示Promise处于挂起状态,从而导致未定义的
数据。以下代码中实现的错误是什么?如何解决axios承诺

main.js

function dropdDowndata() {
        var _env = getEnv();
        var data;
        getClientList().then(function(response) {
          data = response;
        });

};

function getClientList = function() {
    debugger;
    var resetResponse = "";
    var refId = GUIDUtil.Guid.newGuid().toString("N");
    var details = {};
    var params = {
        "Request": {
            "header": {
                "serviceContext": {
                    "apiVersion": "1.0",
                    "lineOfBusiness": "SPD"
                },
                "securityContext": {
                    "securityType": "apiKey",
                    "apiKey": "26283629239362127"
                }
            },
            "details": details
        }
    };
    var clientListParams = {
        url: getHostName() + '/test/client',
        data: params,
        method: 'POST',

        headers: {
            'Content-Type': 'application/json'
        }
    };

    return axios(clientListParams).then(function(response) {
        return response.data;

    }).catch(error);
};
您将承诺分配给变量
数据
,而不是其结果。您可以使用async/await等待解决方案,也可以在
回调中处理事情

async function dropdDowndata() {
        var _env = getEnv();
        var data = await getClientList();
        // Do processing of data here...
};

什么是
function getClientList=function(){
?应该是
var getClientList=function(){
除此之外,我在代码中没有发现任何错误谢谢你,我一直在寻找这个解决方案!