我的服务器Api响应如下:-
{"data":{"databases":["rohit_one_test"]},"error":null,"success":true}
我正在使用带有vue js的axios进行呼叫。
// axiosget函数
import axios from 'axios';
export function axiosGet (url) {
return axios.get(url,{ headers: {'Authorization': 'Basic token'}})
.then(function (response) {
return response.data.data;
})
.catch(function (error) {
return 'An error occured..' + error;
})
}
我在其他地方这样称呼它:-
showdblist(){
this.url=API_LOCATION+"/tools/mysql/resources/databases/"+this.domain;
this.dbs=axiosGet(this.url);
console.log(this.dbs);
}
当我登录dbs变量时,它具有类似这样的内容。
此处的屏幕截图:-https://prnt.sc/kmaxbq
我的问题是如何在dbs变量中访问数据库的名称?
答案 0 :(得分:2)
好吧,这是一个承诺被退回,因此您从承诺解决中获得的回报无济于事。相反,将其视为已返回的承诺,并像这样解决它:
async showdblist() {
this.dbs = await axiosGet(this.url)
// now this.dbs is correct
}
如果您不能使用async / await,请像对待常规诺言一样对待它:
axiosGet(this.url)
.then((response) => {
this.dbs = response.data.data
})