ECMAScript Async Context 提案介绍
出处:
mp.weixin.qq.com
作者:
吴成忠(昭朗)
由阿里巴巴 TC39 代表主导的Async Context 提案[1] 刚在 2023年 2 月初的 TC39 会议中成为了 TC39 Stage 1 提案。提案的目标是定义在 JavaScript 的异步任务中传递数据的方案。 我们先以一个同步调用中访问全局变量为例,来讲讲什么我们为什么需要定义异步上下文。设想一下,我们是一个 npm 库作者。在这个库中,我们提供了一个简单的 log 函数和 run 函数。开发者可以将他们的回调函数和一个 id 传给我们的 run 函数。run 会调用用户的回调函数,并且,开发者可以在这个回调函数中调用我们的 log 函数来生成自动被调用 run 函数时传入的 id 标注了的日志。如我们的库实现如下: