Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Puppeter在Node.js中同步打印_Javascript_Node.js_Google Chrome Devtools_Synchronous_Puppeteer - Fatal编程技术网

Javascript 使用Puppeter在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

我正在尝试在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.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');
});