[英]Promise not resolved
我需要这个 axios 调用的结果。 我尝试了很多方法,但我无法解决 promise。 我总是让 promise 等待状态已解决,并且 [[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
});
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
});
您不能通过执行var data = getResult(url);
. 数据将有promise object有其状态和价值(如果解决或拒绝)。
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
解析为另一个 promise axios.get(URL)
,因为即使在调用resolve
之后,您仍处于pending
状态。 尝试使用任何其他值(非承诺)解决它,您将获得已解决状态。
我会通过文章向您推荐 go。
如果您这样做,它应该可以工作:
axios.get(URL).then(res=>resolve(res.data))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.