大发快3_快3真假_大发快3真假 - 大发快3,快3真假,大发快3真假是一款能够边看新闻边赚钱的软件,内含海量精彩新闻,你只需要观看大发快3,快3真假,大发快3真假资讯新闻就可以获得可观收益,收益可以在APP内兑换流量包、充值卡、消费券等。

Zone.js 简介 & 抛砖引玉

  • 时间:
  • 浏览:0

Zone.js 简介 & 抛砖引玉

2016-09-12 11:10  Justany_WhiteSnow  阅读(...)  评论()  编辑  收藏

Zone.js是angular团队参照NodeJS的Domain,Dart的Zone,为angular 2开发的核心组件。

 

一刚开始英文,我对Zone.js是拒绝的。亲戚亲戚当我们都当我们都当我们都知道类似于的 Domain 模块,主我我想要为了处里异步错误跟踪大难题。很多很多很多很多,当我这么太强烈的错误跟踪需求的前一天,Zone.js有啥用?

然而execution context不仅仅并能用来跟踪异步错误,还并能做这名 猥琐而实用的事情。

先来理解一下 execution context

Zone.current.fork({}).run(function () {
    Zone.current.inTheZone = true;

    setTimeout(function () {
        console.log('in the zone: ' + !!Zone.current.inTheZone); 

execution context,亲戚亲戚当我们都当我们都当我们都并能理解成只与当前 fork 出来的Zone实例相关的上下文。

里面的例子很明显,原应这么在 fork 中 Zone 的实例亲戚亲戚当我们都当我们都当我们都才设置了 Zone.current.inTheZone 为 true,很多很多很多很多在外面打印出来的结果是 false。

好神奇,这名 为什么会么会会么会做到的呢?

亲戚亲戚当我们都当我们都当我们都想像里面那个过程是同步的,这么存在了哪此呢?

const defaultZone = Zone.current

很好,同步这么哪此大难题,这么异步为什么会么会会么会办呢?人太好很简单,我我想要在每一一一三个 异步入口加一一一三个 看门人,就并能了。

const defaultZone = Zone.current

当然Zone.js实现比里面繁复得多,有兴趣的同学并能看看源代码。

在同一一一三个 项目使用不同版本的 jQuery

从里面的例子看,亲戚亲戚当我们都当我们都当我们都并能看到,亲戚亲戚当我们都当我们都当我们都并能在 zone 实例上保存这么该 zone 使用的属性。这么亲戚亲戚当我们都当我们都当我们都在利用Object.defineProperty就并能达成亲戚亲戚当我们都当我们都当我们都的目标了。

  • 亲戚亲戚当我们都当我们都当我们都先简单写一一一三个 模块执行器(意思是我才我我想要管加载的事情):
  • 试用一下:

具体实现参见:(two-different-jquery)[https://github.com/miniflycn/async-technique-you-may-do-not-know/tree/master/two-different-jquery]

更进一步

人太好亲戚亲戚当我们都当我们都当我们都并能基于 Zone.js 做一一一三个 Sandbox,则在大型重历史包袱的应用中,并能很好地将多个技术体系共存而不产生恶心的冲突大难题。

原应做一一一三个 对任意模块依赖注入的方案,对模块之间做完全解耦。

  • 分类 Javascript
  •