Puppeteer:包含异步函数的圆括号是什么意思?
Puppeteer: What do the round brackets enclosing an async function mean?
我不明白这些包含异步函数的圆括号是做什么用的。它们表示什么?
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// more codes here
})();
您看到的是 Immediately Invoked Function Expression。他们想马上运行这段代码,所以最后有一对()
,以便立即调用函数。但是仅仅添加这些会导致非法语法,所以另外整个函数需要用括号括起来。
如果您好奇他们为什么要创建一个函数只是为了立即调用它,他们这样做是为了能够使用 await
关键字。 Await 只能在异步函数中使用,因此不能在文件的根级别。还有其他原因可以激发 IIFE 的使用,但这就是本例中的原因。
我不明白这些包含异步函数的圆括号是做什么用的。它们表示什么?
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// more codes here
})();
您看到的是 Immediately Invoked Function Expression。他们想马上运行这段代码,所以最后有一对()
,以便立即调用函数。但是仅仅添加这些会导致非法语法,所以另外整个函数需要用括号括起来。
如果您好奇他们为什么要创建一个函数只是为了立即调用它,他们这样做是为了能够使用 await
关键字。 Await 只能在异步函数中使用,因此不能在文件的根级别。还有其他原因可以激发 IIFE 的使用,但这就是本例中的原因。