JS получить в результате(return) xhr.responseText

Почему в функция не возвращяет содержимое xhr.responseText ? Как правлино сделать чтобы получить в результате(return) xhr.responseText? Нужно из этого вытянуть ид и использовать в другом запросе.

function  email_to_confirm(email) {
  let parts_email = email.split('@');
  let get_email = ('https://www.se.com/api/v1/?action=getMessages&login=' + parts_email[0] + '&domain=' + parts_email[0]);
  xhr.open("GET", get_email);
  cons link = xhr.onload = () => {
    xhr.responseText
  };
  xhr.send();
return (link)
}


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

Автор решения: Pavel Grishaev

Код асинхронный, возвратить результат сразу нельзя, потому что запрос может ожидаться минуту, поэтому и сама функция должна быть асинхронной:

function  email_to_confirm( email, callback ) {
  let parts_email = email.split('@');
  let get_email = ('https://www.se.com/api/v1/?action=getMessages&login=' + parts_email[0] + '&domain=' + parts_email[0]);
  xhr.open("GET", get_email);
  xhr.onload = ()=>{
    callback( xhr.responseText );
  };
  xhr.send();
}

Использование:

email_to_confirm( '[email protected]', text => { .... } );
→ Ссылка