[英]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.