Что может ES6 Classes предоставлять в качестве шаблона организации асинхронный код. Ниже приведен пример с ES7 async/await, может ли ES6-класс иметь асинхронный метод или конструктор в ES7?
Можно ли:
class Foo {
async constructor() {
let res = await getHTML();
this.res = res
}
}
И если нет, то как должен работать конструктор?
class Foo {
constructor() {
getHTML().then( function (res) {
this.res = res
}
}
}
Если ни один из этих шаблонов не работает, может ли конструктор (и, кроме того, классы) в ES6 class
поддерживать любую форму асинхронности, которая действует на состояние объекта? Или они только для чисто синхронных кодовых баз? Вышеприведенные примеры находятся в конструкторе, но они не должны быть... Нажатие проблемы на еще один уровень.
class Foo {
myMethod () {
/* Can I do anything async here */
}
}
Или с геттером...
class Foo {
get myProp() {
/* Is there any case that this is usefully asynchronous */
}
}
Единственные примеры, о которых я мог подумать, - это запустить что-то параллельно внутри одного и того же метода/конструктора/getter, но чтобы решить эту проблему до конца. Я просто смущен, потому что кажется, что все толчок к полностью асинхронным библиотекам, это просто путает вещи. За исключением примеров учебников, я не могу найти одно приложение, для которого они полезны.