Есть класc Guest в нем есть ассинхронный защищенный метод _sendData2Srv, который передает данные на сервер и получает ответ.
class Guest {
constructor() {
}
set email(email) {
this._email = email.trim().toLowerCase()
}
get email() {
return this._email
}
async _sendData2Srv(body, url) {
let params = {
method: "POST",
mode: "same-origin",
cache: "no-cache",
credentials: "same-origin",
headers: {
"Content-Type": "application/json",
},
redirect: "follow",
refferPolicy: "no-reffer"
body: JSON.stringify(body)
}
try {
const response = await fetch(url, params)
return response.json()
} catch (error) {
console.error("Error was happend: ", error);
}
}
}
Класс User наследует Guest и реализует публичный метод getDomains(), который использует в свою очередь, наследуемый _sendData2Srv
class User extends Guest {
constructor(email) {
super(email)
}
async getDomains() {
return await this._sendData2Srv({domainName: this._domainName}, '/domain_list')
}
}
При вызове получаю такой приходит Promise
const user = new User()
let responce = user.getDomains()
console.log(responce)
В некоторых статьях говорится что асинхронность в классах может быть только если метод статический.
Как можно правильно решить данную задачу?