木偶:包含异步功能的圆括号是什么意思?

时间:2019-03-05 01:37:43

标签: javascript node.js puppeteer

我不知道这些包含异步功能的圆括号是做什么用的。他们在说什么?

const puppeteer = require('puppeteer');

(async() => {

  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // more codes here
})();

1 个答案:

答案 0 :(得分:1)

您看到的被称为Immediately Invoked Function Expression。他们想立即运行此代码,因此在末尾有一对(),以便立即调用该函数。但是仅添加这些内容将导致语法不合法,因此,该功能作为一个整体需要用括号括起来。

如果您好奇为什么他们创建函数只是为了立即调用它,那么他们这样做是为了能够使用await关键字。等待只能在异步函数中使用,因此不能在文件的根级别。还有其他一些原因可以激发IIFE的使用,但这就是本例的原因。