Это предложение предполагает, что функции async
могут использовать функции генератора под капотом, хотя я не могу найти подтверждение этого в спецификации ES2017.
Кроме того, когда прототип генератора становится испорченным в функциях Chrome/ Node.js, async
, похоже, не влияет, это говорит о том, что GeneratorFunction
не используется AsyncFunction
, по крайней мере, напрямую
Object.getPrototypeOf((function * () {}).prototype).next = null;
(async () => {
return await Promise.resolve(1);
})()
.then(console.log);
Как работает async
/await
в существующих встроенных реализациях?
Являются ли реализации более эффективными, чем это было бы возможно с помощью подхода Promise
/generator function, который предлагается предложением и обычно реализуется в Babel и TypeScript?