JavaScript全局启用异步

时间:2017-12-03 22:35:58

标签: javascript node.js asynchronous

是否可以在全局范围内启用异步?这将非常好,所以我不必在函数中包装所有异步内容。如果在浏览器JavaScript中无法实现,是否可以在Node.js中使用?

我知道我可以使用自执行 - 匿名 - 异步功能,但对我来说它们看起来很难看。

(async function() {
  // do stuff
})();

看起来好像很复杂。 能够在全局范围内使用await会很棒。

1 个答案:

答案 0 :(得分:2)

不,这是不可能的。所有async函数都返回一个promise。因此,它是一种必须以特殊方式使用的特殊功能。

此外,如果您实际上遵循asyncawait的实际工作方式,您就会理解为什么必须指定特定类型的函数才能使用await和解释器在创建函数范围时需要提前知道。

如果要在下一级范围内使用async,那么创建await函数包装器真的应该没什么大不了的。在顶级范围内放置许多重要逻辑最终会产生大量的全局符号,因此它通常不是设计的最佳方式。