javascript - 一旦我们收到 api 调用的响应,如何解决 promise ?

标签 javascript jquery promise axios

我有在页面加载时调用的 dropDowndata 方法,并且它正在渲染 dropdownbData,所以在 getClientList 中但是,当我尝试调用 getCLientList 时,我收到了 api 调用的响应在dropdDownData它显示 Promise 正在等待处理,并导致未定义 data 。下面的代码中实现了什么错误?如何解决axios promise ?

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);
};

最佳答案

您将Promise分配给变量data,而不是它的结果。您可以使用 async/await 等待解决,或者在 .then 回调中处理事情。

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

关于javascript - 一旦我们收到 api 调用的响应,如何解决 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58342384/

相关文章:

javascript - 在 Node 中打开 PDF 时的错误处理

javascript - 通过链接将多个用户发送到同一个谷歌视频群聊(在新窗口中)

jquery - 从 :hover with . 获取 css 值 css() - jquery

JQuery fullCalendar : problem with date/event - It's rendering an hour too late!

javascript - 带有嵌套 Promise 的 $q.all 也使用 $q.all 创建

javascript - 打开 Chrome 扩展程序时出现 Service Worker TypeError

javascript - 从浏览器 mailgun 发送电子邮件

javascript - 使用 drawImage 将加载的图像淡化到 Canvas 中

javascript - 为什么 Await 不阻塞下一行代码?

javascript - 如何通过向下滚动到 div 的末尾来加载剩余的更多结果?