Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Как правильно реализовать class и async (https://javascript.ru/forum/node-js-io-js/78751-kak-pravilno-realizovat-class-i-async.html)

Signal 30.10.2019 18:16

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

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn.pdf', format: 'A4'});

  await browser.close();
})();


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

PS. японский бог, не класс а функция даже не знаю как обозвать ее, я просто в Delphi шарю

function SiteWorker1() {
      this.SET_DEBUG_MODE = function(ModeDebug) {
       ...
      }
}

Signal 30.10.2019 20:39

puppeteer
тоже не катит падла, он без async не пашет или если без async то только внутри своей функции ни влево ни вправо, только загрузить страницу и съ..ну свалить.. буду курить дальше

SuperZen 04.11.2019 11:55

браузер закрывается потому, что вызывается browser.close()

если не нужен async, тогда логично предположить, что это промис и надо делать
browser.close().then(() => { 
//после close вызывается эта ф-ция 
})


п.с. все не работает ) потому что не умеешь писать на js асинхронный код

п.п.с. папетер для твоих целей подходит


Часовой пояс GMT +3, время: 10:42.