Кукловод: Что означают круглые скобки, заключающие асинхронную функцию? - PullRequest
0 голосов
/ 05 марта 2019

Я не могу понять, для чего предназначены эти круглые скобки, заключающие в себе асинхронную функцию.Что они обозначают?

const puppeteer = require('puppeteer');

(async() => {

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

  // more codes here
})();

1 Ответ

0 голосов
/ 05 марта 2019

То, что вы видите, называется выражением немедленного вызова функции .Они хотят сразу запустить этот код, и поэтому в конце есть пара (), чтобы немедленно вызвать функцию.Но простое их добавление приведет к недопустимому синтаксису, поэтому, кроме того, функцию в целом необходимо заключить в скобки.

Если вам интересно, почему они создают функцию просто для ее немедленного вызова, они 'делаем это для того, чтобы можно было использовать ключевое слово await.Await может использоваться только в асинхронной функции и, следовательно, не может находиться на корневом уровне файла.Существуют и другие причины, которые могут мотивировать использование IIFE, но это причина в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...