关于getHomeSlider方法的返回值问题
来源:2-3 幻灯片组件--从服务器端获取数据
Kyrieyoo
2019-09-14 15:31:36
getSliders(){
// this.sliders = getHomeSlider(); ??为什么这样写不行
getHomeSlider().then(data =>{
this.sliders = data;
});
代码这样子写的话: this.sliders = getHomeSlider(),为什么不能直接获取要的data?而要再.then()呢?
getHomeSlider()这个函数的返回值不是then里面return的内容吗?
2回答
你好,
非常抱歉,第一次给你解释的有点问题,让同学有了误解。
因为axios是基于promise的,使用axios后会返回一个promise,即使then中直接return了数据,最终外层return的是一个带有数据的promise:
自己可以输出测试下。
好帮手慕星星
2019-09-14
同学你好,
getHomeSlider()这个函数的返回值是then里面return的内容,最终返回的是一个promise:
可以输出看一下:
一个带有数据的决议成功的promise对象,value中是获取的数据,所以直接方法的结果不是数据,而是promise,需要使用then方法输出获取的数据。
自己可以测试理解下,祝学习愉快!
相似问题
回答 1
回答 1
回答 2
回答 2
回答 3