赞
踩
背景:项目中有多个组件调用同一接口,为提高代码可维护性,需要封装公共方法
直接return 接口调用的结果
export function getall() {
let all = [];
let opt = {
method: 'get',
url: 'all/teacher',
success: res => {
all = res.data.value || [];
},
fail: err => {
tipinfo(err.data.desc, '提示', false, 'warning');
}
};
$http(opt);
return all;
}
console.log(getall()); // []
$http是在axios基础 进行封装的,是一个异步的方法,所以在组件中调用getall()方法,拿到的是一个空数组
使用promise进行封装
export function getall() {
return new promise((resolve, reject) => {
let opt = {
method: 'get',
url: 'all/teacher',
success: res => {
resolve(res.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。