【问题标题】:VUEJS Call a function in function (axios)VUEJS 在函数中调用函数(axios)
【发布时间】:2019-04-15 22:27:51
【问题描述】:

当我在 func2 中调用 this.func1() 时,func1 返回 undefined。 有人帮助我吗? 我认为 func 什么都没有返回,因为 axios 没有完成,我该如何解决这个问题?

func1:function(val){
if(val.x == 0)
{
    axios.post('/...', {

    })
    .then((response) => {
        if(response.data == 0)
        {
            return true;
        }
        else
        {
            return false
        }
    })
    .catch((error) => {
        return false;
    });
}
else
{
    return false;
}
}

//////
//////
//////


func2:function(variable){
    console.log(this.func1(variable)) // undefined..
    if(this.func1(variable) == true)
    {

    }
}

【问题讨论】:

  • function1 是异步函数。

标签: function vue.js axios


【解决方案1】:

不如在函数 1 中添加 function 2 来调用同步。

func2:function(variable){
    console.log(this.func1(variable)) // undefined..


   func1:function(val){
if(val.x == 0)
{
    axios.post('/...', {

    })
    .then((response) => {
        if(response.data == 0)
        {
            return true;
        }
        else
        {
            return false
        }
    })
    .catch((error) => {
        return false;
    });
}
else
{
    return false;
}

}
}

【讨论】:

  • 在我的情况下不可能
  • func2 从 DOM 上调用 element.io (ui) "em-dropdown" 和属性 "command="func2"
  • 所以您要检查的是来自func2func1
  • func2(variable) 包含“变量”,但是在执行func2的下一步之前,func1检查这个“变量”是否可以修改
  • 因此您必须在func2 内调用func1,并且func2 的任何返回都必须在func1
猜你喜欢
  • 1970-01-01
  • 2021-02-21
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 2018-09-12
  • 2018-09-23
相关资源
最近更新 更多