Привет. Вообщем, делаю я тут приложение, читающее данные с веба. Думаю, пусть будет класс Page, там должен быть метод load (делающий то же самое что и конструктор класса), загружающий код из веба. Типа так:
var p = new Page("http://ya.ru") // вернёт объект класса Page, содержащий код страницы
p.load("http://mail.ru/") // сотрёт предыдущие данные, вернёт код страницы мейл-ру
Я знаю, что такой код будет выполняться долго, он будет блокировать приложение, но я так понимаю, если этот код обернуть в async function, то будет норм.
Я предполагаю, что async означает, что интерпретатор продолжит выполнение программы не дожидаясь окончания выполнения функции, хотя нигде в сети я не нашёл явного указания на это.
Проблема в чём: async функция возвращает promise, тогда как конструктор возвращает объект типа Page. Это значит, что возврат promise приведёт к ошибке, или я что-то не понимаю.
Конечно, можно было бы отказаться от подхода, который я выбрал, но по-моему он крут: считывание и парсинг данных одной функцией без коллбеков