最初代码如下:

<template>
    <div></div>
</template>

<script>
  import {download} from '@/tmApi/proposer.js'
  export default {
    name: 'test',
    methods: {
      getData(urlName) {
        download({'name':urlName}).then(res=>{
          if(res.data.status===0){
            console.log(res.data.data.url)
            return res.data.data.url;
          }
        })
      },
    },
    mounted() {
      this.getData('201807270930001721/201807270930001721res.pdf')
      console.log(this.getData('201807270930001721/201807270930001721res.pdf'))
    }
  }
</script>

发现 console.log(this.getData(‘201807270930001721/201807270930001721res.pdf’))得到的是undefined
由于get是异步执行的,所以你也无法获取到请求返回的内容,要用回调的形式来获取:

<script>
      import {download} from '@/tmApi/proposer.js'
      export default {
        name: 'test',
        methods: {
          getData(urlName,callback) {
            download({'name':urlName}).then(res=>{
              if(res.data.status===0){
                console.log(res.data.data.url)
                callback(res.data.data.url)
              }
            })
          },
        },
        mounted() {
         	this.getData('201807270930001721/201807270930001721res.pdf',function(data) {
            console.log(data)
          })
        }
      }
    </script>

ok,这样就能取到了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐