我不知道这些包含异步功能的圆括号是做什么用的。他们在说什么?
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// more codes here
})();
答案 0 :(得分:1)
您看到的被称为Immediately Invoked Function Expression。他们想立即运行此代码,因此在末尾有一对()
,以便立即调用该函数。但是仅添加这些内容将导致语法不合法,因此,该功能作为一个整体需要用括号括起来。
如果您好奇为什么他们创建函数只是为了立即调用它,那么他们这样做是为了能够使用await
关键字。等待只能在异步函数中使用,因此不能在文件的根级别。还有其他一些原因可以激发IIFE的使用,但这就是本例的原因。