Я делаю вызов функции из useEffect
, функция присутствует в другом классе. Из этой функции я вызываю другую асинхронную функцию c, чтобы сделать вызов ajax после того, как обещание разрешено, я выполняю некоторую операцию с данными, возвращенными вызовом API, а затем возвращаю данные обратно в * 1002. * где функция вызывается в первую очередь. Я получаю неопределенный в useEffect
. Вот фрагмент кода
// In Main Class
let newObj=new ABC();
useEffect(()=>{
let flag= newObj.method1(url); //method present in another class.
setFlag(flag)
});
// Inside Class ABC
let flag;
method1(url){
this.method2(url).then(function(result) {
/*some operation */
flag=true; //set to true based on data
console.log(flag)//prints true
}
return flag // console log will print false here.
}
async method2(url){
let data=await axios.get(url);
return data;
}
Конечный результат, который я пытаюсь получить в основном классе, - это true / false, основанный на вызове API, я хочу, чтобы все логи c присутствовали в классе AB C.