Как мне вернуть результат из функции использующую axios с обещанием

Есть допустим функция в которой axios запрос и потом мне нужно из этой функции вернуть результат запроса. Как это сделать - не ясно. Т.е. внутри функции я могу взаимодействовать с данными погружаясь в функции then или ожидать через await, но это не даёт нужного результата. Интересует возможно ли вообще такое сделать?

Пример функции:

static get(url) {
  let fd = new FormData();
  fd.append("url", url);
  
  let result;
  
  axios.post("php/get.php", fd).then((response) => {
    result = response.data;
  });

  return result; // как подождать ответа?
}

Ответы (1 шт):

Автор решения: WalkMess

const oldPromise = new Promise((res) => {
  //Сейчас этот код работает синхронно и ничего не ждет внутри.
  const a = 1;
  const b = 1;
  res(a + b);
});

//Мы вроде получили результат, но нет!
console.log(oldPromise);

//Нам необходимо ждать
const newPromise = oldPromise.then((answer) => { 
  console.log(answer, 'теперь мы точно получили результат'); 
  return answer + 100
}
);

//Мы можем соеденять новые цепочки, однако это не будет иметь ничего с прошлой.
oldPromise
  .then((answer) => answer + 1)
  .then((oldConsole) =>
    console.log(oldConsole, 'обратите внимания, это другая цепочка')
  );
  
//Мы все еще работаем с oldPromise. 
newPromise.then(data => console.log(data, 'это наш oldPromise'))

→ Ссылка