• 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,这样就可以拿到了。

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

  • 相关阅读:
    创业失败的七个原因及解决之道
    技术人员如何参与产品设计讨论:激活那一潭死水
    基于Android Studio搭建hello world工程
    WINCE6.0+IMX515通过cfimager.exe烧录镜像文件
    基于Android Studio搭建Android应用开发环境
    WinCE启动失败的原因与解决办法分析
    Maximum Allowed Error 7 错误解决
    s3c6410 开发板Linux系统支持 K9GAG08U0E的方法
    Nandflash 驱动移植
    GIFT-EMS礼记----青软S2SH(笔记)
  • 原文地址:https://www.cnblogs.com/jennydtt/p/12607011.html
Copyright © 2020-2023  润新知