Поддерживает ли Node @ 6 API puppeteer для создания PDF

Я успешно сгенерировал PDF-файл с помощью API-интерфейса puppeteer с последней версией Node, то есть Node @ 8. Вот последний код. Но необходимо сгенерировать PDF с помощью API puppeteer с Node @ 6.

`const express = require('express');
const app = express();
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('http://www.google.com', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn8.pdf', width: '1600px' , height: '800px'});
  await browser.close();
})();
module.exports = app;` 

В этом коде есть await () и async, которые были введены в Node7. Я просмотрел несколько блогов, и там говорится, что то же самое можно сделать и в Node6. Любая помощь приветствуется


person Suchitra    schedule 02.02.2018    source источник


Ответы (1)


Просто преобразуйте асинхронные функции в классические обещания:

const puppeteer = require('puppeteer');

puppeteer.launch().then(browser => {
  browser.newPage().then(page => {
    page
      .goto('http://www.google.com', { waitUntil: 'networkidle2' })
      .then(page.pdf({ path: 'hn8.pdf', width: '1600px', height: '800px' }))
      .then(() => {
        browser.close();
      });
  });
});
person Everettss    schedule 02.02.2018
comment
Спасибо @Everettss. Но это возвращает пустой PDF-файл. Добавление возврата решает мою проблему. - person Suchitra; 03.02.2018
comment
Куда надо было добавить return? - person Everettss; 03.02.2018
comment
После каждого обещания добавляется возврат. ниже пример puppeteer.launch () .then (b = ›{browser = b; return browser.newPage ();}) .then (a =› {page = a; return a.goto ('google.com')}) - person Suchitra; 06.02.2018