У меня есть большой скрипт, который выполняет множество вызовов обещаний и асинхронных вызовов, поэтому я создал новый класс, в который начал перемещать функции обещаний. Но теперь я изо всех сил пытаюсь инициализировать свойства класса.
class MyClass {
constructor(id) {
this._id = id
this._thing = []
}
getThing {
return this['_thing']
}
async init() {
this._thing = this.requestThing(this['_id'])
}
requestThing(id) {
return new Promise((resolve) => {
// Make request using id
resolve(response);
})
}
}
Так что я думал о чем-то вроде этого
const init = async () => {
let myClass = await new MyClass(123)
await myClass.intialise()
let test = myClass.getThing()
}
init()
Но я, кажется, получаю ошибки. На данный момент мой код довольно сложно отлаживать (или переписывать, чтобы сделать простой тест — отсюда и рефакторинг), так как я использую множество промисов и асинхронных функций.
Это правильный способ инициализации класса, который должен выполнять асинхронные вызовы для установки своих свойств?