Javascript Vue方法混合
我在mixins文件中有方法getNames,它返回名称Javascript Vue方法混合,javascript,vue.js,components,frontend,mixins,Javascript,Vue.js,Components,Frontend,Mixins,我在mixins文件中有方法getNames,它返回名称 import { default as config } from '../config'; var methods = { methods: { getNames() { return axios.get(API + API.NAMES) .then( (response) => { if( response.status ==
import { default as config } from '../config';
var methods = {
methods: {
getNames() {
return axios.get(API + API.NAMES)
.then( (response) => {
if( response.status == 200 && typeof(response.data) == 'object' ) {
return response.data;
}
});
}
}
};
export default methods;
从我的单一模板文件中,我导入了mixins/methods文件。现在我的问题是如何从getNames方法获取返回对象数据。因为当我试图
mixins: [
filters,
methods
],
mounted: function() {
var a = this.getNames();
console.log(a);
}
getNames方法只返回一个Promise
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
__proto__
:
Promise
[[PromiseStatus]]
:
"resolved"
[[PromiseValue]]
:
Object
axios.get()
调用是异步的,它返回一个Promise
。它不会返回传递给链式then
方法的匿名函数的值
为了访问该值,可以将然后方法链接到返回的Promise
,如下所示:
mounted: function() {
this.getNames().then(a => { console.log(a) });
}