我有在页面加载时调用的 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/