Javascript 使用Puppeter在Node.js中同步打印
我正在尝试在Node.js中编写同步代码Javascript 使用Puppeter在Node.js中同步打印,javascript,node.js,google-chrome-devtools,synchronous,puppeteer,Javascript,Node.js,Google Chrome Devtools,Synchronous,Puppeteer,我正在尝试在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
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.log('world');
});
我想先打开Google页面,当我关闭它时,程序应该打印:
world
在Puppeter事件的回调中调用您的fn
。下面的代码对我来说很好:
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.log('world');
});
您可以将
func1
设置为异步,然后可以设置内部匿名异步函数:
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.log('world');
});