我需要此axios调用的结果。我已经尝试了许多方法,但是无法兑现承诺。我一直都在等待承诺,状态已解决,[[PromiseValues]]这是我尝试过的最后一个:
function getResult() {
let promise = new Promise(function(resolve, reject) {
resolve(axios.get(URL))
});
return promise;
};
let theResult = getResult().then(function(result) {
return result.data
});
答案 0 :(得分:0)
axios.get
-返回Promise的方法。
任何一个
axios.get(URL).then(result => result.data);
或
function getResult(url) {
return axios.get(url);
};
let theResult = getResult('<URL goes here>').then(function(result) {
return result.data
});
答案 1 :(得分:0)
您无法通过执行var data = getResult(url);
来从承诺中获得回报。 数据将具有承诺对象,该对象具有其状态和值(如果已解决或拒绝)。
function getResult() {
let promise = new Promise(function (resolve, reject) {
resolve(axios.get("https://api.github.com/users/mralexgray/repos"))
});
return promise;
};
getResult().then((result) => {
let theResult = result.data;
/** process result **/
}).catch((err) => {
console.log(err, "error");
})
您正在将您的promise
解决为另一个承诺axios.get(URL)
,因为即使您致电pending
,也会得到resolve
作为状态。尝试使用其他任何值(非承诺)来解决它,您将获得已解决状态。
我建议您通过article.