Javascript 使用zone.js从任何位置检测当前执行上下文?

Javascript 使用zone.js从任何位置检测当前执行上下文?,javascript,angularjs,monkeypatching,Javascript,Angularjs,Monkeypatching,使用,是否可以从任何位置确定当前执行上下文?例如,如果一个区域绑定函数调用另一个调用setTimeout(myFn)的函数,我可以从myFn()中确定当前执行上下文吗?如果是这样,请提供一个简单的示例说明如何操作。每次您fork()a区域,访问该区域上下文中的区域对象将始终返回分叉的区域 下面的实验演示了这种行为: 下面是将其粘贴到控制台时发生的情况: var b = function() { console.log('-->',zone) }; var a = function()

使用,是否可以从任何位置确定当前执行上下文?例如,如果一个区域绑定函数调用另一个调用
setTimeout(myFn)
的函数,我可以从
myFn()中确定当前执行上下文吗?如果是这样,请提供一个简单的示例说明如何操作。

每次您
fork()
a区域,访问该区域
上下文中的
区域
对象将始终返回分叉的
区域

下面的实验演示了这种行为: 下面是将其粘贴到控制台时发生的情况:

var b = function() { console.log('-->',zone) }; 
var a = function() { setTimeout(b,5); }; 
zone.fork().run(function() { zone.x = 'hi'; a(); }); 
setTimeout(function() { console.log('==>', zone); }, 1);
setTimeout(function() { console.log('==>', zone); }, 10);