#function #vue.js #axios
#функция #vue.js #axios
Вопрос:
Когда я вызываю this.func1() в func2, func1 возвращает undefined . Кто-нибудь, пожалуйста, помогите мне? Я думаю, что функция ничего не возвращает, потому что 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)
{
}
}
Комментарии:
1. function1 является асинхронной функцией.
Ответ №1:
как насчет того, чтобы вместо этого добавить function 2
внутреннюю функцию 1 для вызова синхронизации.
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;
}
}
}
Комментарии:
1. Невозможно в моем случае
2. func2 вызывается из DOM для элемента с element.io (пользовательский интерфейс) «em-выпадающий список» с атрибутом «command=»func2»
3. итак, что именно вы хотите проверить
func1
func2
?4. func2(переменная) содержит «переменную», но перед выполнением следующего из func2, func1 проверяет, можно ли изменить эту «переменную»
5. таким образом, вы должны вызывать
func1
insidefunc2
и любой возврат дляfunc2
должен быть внутриfunc1