步骤二 · 2-3 幻灯片组件--从服务器端获取数据
来源:2-3 幻灯片组件--从服务器端获取数据
weixin_慕的地5241954
2019-10-26 20:26:57
methods: {
update() {
return this.getSliders();
},
getSliders() {
// then方法直接用?它的实例对象是谁?
return getHomeSlider().then(data => {
this.sliders = data;
});
}
}return axios.get('http://www.imooc.com/api/home/slider', {
timeout: TIMEOUT
}).then(res => {
if (res.data.code === SUCC_CODE) {
let sliders = res.data.slider;
const slider = [sliders[Math.floor(Math.random() * sliders.length)]];
sliders = shuffle(sliders.filter(() => Math.random() >= 0.5));
if (sliders.length === 0) {
sliders = slider;
}
return sliders;
}
throw new Error('没有成功获取到数据!');
}).catch(err => {
if (err) {
console.log(err);
}axios返回的是Promise对象,所以可以用then方法,那getHomeSlider()方法返回的应该是处理好的数据对象啊,怎么还有then方法,能结合代码说一下嘛啊?
1回答
好帮手慕星星
2019-10-27
同学你好,
getHomeSlider()方法返回的是带有数据的promise对象,可以输出测试下:

axios返回的是Promise对象,虽然使用了then方法,但是axios外面还有一个return:

将这个对象返回了,里面的返回的sliders会作为对象中的数据,通过使用then方法输出即可。
自己可以输出测试下哦,祝学习愉快!
欢迎采纳~
相似问题