簡體   English   中英

如何從axios響應中獲取數組值

[英]How to get the array value from axios response

我因面對這個問題而停留了4個小時。 我有這個代碼

var sttr = [];
      this.$http
      .post(this.api_url+url, data)
      .then((response)=>{
        sttr.push(response.data);
      })
      .catch((error)=>{
        if(error.request.status == 401){
          this.unauth();
        }else{
          sttr.push(error.response.data.errors);
        }
      });
      console.log(sttr[0]);

我對成功和錯誤的響應都存儲在sttr變量中。 但是問題是當我想獲取數組的第一個值時,它返回未定義的值。 那么,這個問題有解決方案嗎?

您實際上是在調用console.log(sttr[0]); 響應返回之前 ,因為此代碼是異步的。 您需要將其記錄在then回調中,以確保它在收到響應后發生。

我認為執行'then'回調內部的console.log(sttr [0])會起作用。 正如您在評論中說的那樣,console.log(sttr)正在工作,您可以在代碼的最后一部分中創建一個條件。

if(sttr.length) {
  console.log(sttr[0]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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