Я пытаюсь написать синхронный код на Node.js.
function func1(fn) {
const puppeteer = require('puppeteer');
var If = require('If');
var async = require("async");
(async () => {
const browser = await puppeteer.launch({
headless: false
});
const page = await browser.newPage();
// Open page.
await page.goto("https://www.google.com/");
})();
fn();
}
func1(function(){
console.info('world');
});
Я хочу, чтобы сначала открылась страница Google, и когда я ее закрою, программа должна напечатать: world
.
Вызовите свой fn
в обратном вызове для события отключен Puppeteer.
Приведенный ниже код отлично подходит для меня:
function func1(fn) {
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false
});
const page = await browser.newPage();
// Open page.
await page.goto("https://www.google.com/");
browser.on('disconnected', () => {
fn();
});
})();
}
func1(function(){
console.info('world');
});
Вы можете сделать func1
асинхронным, а затем вы можете await
своей внутренней анонимной асинхронной функцией:
async function func1 (fn) {
const puppeteer = require('puppeteer');
var If = require('If');
var async = require('async');
await (async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('https://www.google.com/');
})();
fn();
}
func1(function () {
console.info('world');
});