簡體   English   中英

Promise 未解決

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM