Zone.jsJavaScript 的 Zone 实现

联合创作 · 2023-09-22 08:43

Zone.js 在 JavaScript 中实现了 Zones 的概念,其灵感来自于 Dart

Zone 是执行过程的上下文,可以在异步任务之间进行持久性传递,你可以把它当成是类似 Java 的 TLS 线程本地存储技术,只不过是用在 JavaScript 语言中。

示例代码:

zone.run(function () {
  zone.inTheZone = true;

  setTimeout(function () {
    console.log('in the zone: ' + !!zone.inTheZone);
  }, 0);
});

console.log('in the zone: ' + !!zone.inTheZone);

fork:

zone.fork({
  beforeTask: function () {
    console.log('hi');
  }
}).run(function () {
  // do stuff
});
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报