vue计算函数return ajax,vue中return的用法理解

在做项目的时候有的时候项目紧急,所以只需要知道如何使用一下方法实现相应的功能,没得停留下来研究理解为什么要这样使用,所以今天趁不忙就写一下自己对return的理解,一方面是加深自己的理解,另一方面也希望能帮助到需要的人!

我先抛出一个简单的问题:return后面可以跟执行语句或者函数么?

答案:可以!

但是有一点,return不论是什么,都是直接返回,即使是语句或者函数也不会执行的!是函数就返回该函数!

下面从一个例子来加深对return用法的理解:

export function getTable() {

return axios.get(‘xxxx’

).then(function (res) {

return  res.data.result.info

}).catch(function () {

})

}

在axios和ajax中经常会用到return,从上面的代码可以看到有两个return,每个return的作用都需要理解

首先第一个return后面跟的是axios配置,这个return就是将整个axios返回出来;第二个return是在axios请求成功后将响应数据返回出来,即第二个return就是将axios异步请求的数据返回出来。

这两点都比较好理解,但是不知道大家有没有想过为什么要这样做?

说下我的理解:

函数中有ajax和axios调用的有异步和同步,是异步的话里面如果有return,在函数外层(函数是指getTable())调用的时候会取不到数据,除非换成同步。如果想异步取到数据,就需要在函数外层也加个return,相当于把ajax或者axios 整个配置返回出来,返回出来的数据格式是[object,promise],所以函数执行获得的数据格式就是[object,promise],然后使用.then()的形式将里面返回的数据拿出来!

mounted() {

getTable().then((res)=>{this.tableData = res}) //此出先调用getTable()拿到axios的数据,然后在.then()出来结果

}

此段代码的目的是将axios异步请求的结果返回出来,因为是异步所以不能直接在axios里return数据,所以需要在axios外层也加个return,这样就可以拿到了。

以上是个人理解!有不对的欢迎批评指正!

原文:https://www.cnblogs.com/jennydtt/p/12607011.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用axios库来发送ajax请求,并在请求使用vue.config配置的地址。 首先,在项目安装axios库: ``` npm install axios --save ``` 然后,在需要发送ajax请求的组件,可以这样导入和使用axios: ``` import axios from 'axios'; export default { data() { return { responseData: null } }, mounted() { axios.get('/api/data') .then(response => { this.responseData = response.data; }) .catch(error => { console.log(error); }); } } ``` 在上面的代码,我们使用axios发送了一个GET请求到`/api/data`地址,并在成功返回数据后将其存储到组件的`responseData`属性。这个地址是在请求使用了vue.config配置的地址,因此我们不需要在这里指定完整的地址。 如果需要在axios请求使用其他vue.config配置的选项,例如请求超时时间、跨域请求等,可以在axios实例化时将这些选项作为配置传递进去。例如: ``` import axios from 'axios'; const instance = axios.create({ timeout: 10000, withCredentials: true }); export default { data() { return { responseData: null } }, mounted() { instance.get('/api/data') .then(response => { this.responseData = response.data; }) .catch(error => { console.log(error); }); } } ``` 在上面的代码,我们使用axios.create方法创建了一个axios实例,并将超时时间和跨域请求选项作为配置传递进去。然后,在发送请求时,我们使用这个实例来发送请求。这样可以方便地在请求使用vue.config配置的选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值