步骤二 · 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方法输出即可。
自己可以输出测试下哦,祝学习愉快!
欢迎采纳~
相似问题